PDF转WORD为什么这么难

pdf转word是一个非常普遍的需求,而你会发现好用、转换质量好的工具还真是不多,尤其百度搜索前面的推广结果,更是差到不行,免费版只能转一页,要想转更多,需要付费,而付过费后会发现转化效果非常差,找商家投诉,没有结果,便会像百度搜索结果第一条1900多条评价,全在骂的结果。

今天来分析一下为什么pdf转word那么难。

  1. PDF格式特殊

PDF是adobe公司出品方便打印的文档,Portable Document Format的简称,意为“便携式文档格式”,是由Adobe Systems用于与应用程序操作系统硬件无关的方式进行文件交换所发展出的文件格式。PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。对于电脑上的文件来说,根本上都是以二进制的方式存储到存储设备上,因此我既然可以存为pdf文件,肯定需要知道其规范,这就是pdf文档的格式规范(可以去adobe官网搜),字体、图像等等都需要有描述,这样我才能显示。

因此理论上熟读pdf格式规范,就能正确的读取pdf文件。实际编码中还有一些别人写好的类库可以调用,因此读取pdf要简单一些。

2. 放到word不容易

再来说转成word这件事,这件事其实来说也是可以实现的,因为我知道pdf的格式,也知道word的格式,我读出了这里需要有文字、那里需要有图片,按照word的格式放进去就可以了。但是.但是.但是.实际做的时候有很多坑。

举几个例子,比如表格问题:

这是一份pdf里面的部分内容,通过程序可以读出来在(x,y)位置有“食物”两个字,在某位置有“合并后的单元格”7个字,其他位置的字和数字,pdf给出的信息是屏幕上的位置有什么字,比如(10,100)位置为食物,(200,10)位置水……为什么会是这样的信息,因此pdf是用来打印的,他会告诉打印机什么位置有什么内容,他只能这么给。而对于这些信息怎么往word里面放?你会说,我这是个表格,按表格放,问题是程序怎么知道,这就需要一些人工智能或者经验的算法,把这样的位置分析出来是表格。表格难度升级版,哪些是合并的单元格,就这个问题没有几家产品能判断出来是合并后的单元格。

背景图像问题:

这个文档其实蓝色矩形是背景,而小人是图片,可以区分开吗?用简单的pdf解析lib已经很有难度,(pdf解析lib后面再说),如果区分出来了,word里面背景图片怎么操作,表格的浮动怎么处理?头都大了。

因此要转好word是件很难处理的事。

3. 再说说pdf解析lib

pdf解析的lib,开源免费项目最经典的是PDFBox,Apache旗下,他可以做的事是:

提取文字,拆分合并,表单文字提取或者填充,验证,打印,存图片,创建pdf,签名。可以看到这个强大的库可以提取出文字和对应位置,然后你在写到word。表格怎么办?不好处理,需要自己根据字的位置、逻辑算。

专门处理表格的库:Tabula,收费版pdfTables,问题又来了,这些库只能处理其中表格,其他内容处理不好,tabula甚至需要先给出表格区域是什么,然后再提取内容。

总之一句话,提前内容简单,转到word格式难。

4. 最好的PDF转word是谁

做了许多的调研和验证,最好的转换工具是谁呢?


调研的时候发现百度文库是最牛B的,正确率100%,一丝不差,看源码发现他是显示到网页上,他的实现方法是把文字及位置提取出来,然后用css绝对定位到当前位置,背景、表格等都是一张图片直接铺在后面,这样就不需要知道谁是表格,谁是合并单元格了,完全按打印的方式来实现,不得不说这个方法非常聪明。百度技术确实牛,不过在这里转成word的话同样需要后续的研究。技术不能适用到转word项目中。

第二好的我想必定adobe自家产品acrobat了,可以读、写pdf的官方工具,下载免费试用版本,确实是效果非常非常好的,只在一些非常复杂的表格情况下有失真,达不到100%的还原效果,但是已经是最好的了。

百度搜索出来的好多pdf工具试用了一遍,尤其前面的推广结果,大多是用开源项目搞的产品,简单文字的可以,遇到表格,合并单元格,基本都处理不好了。

另一个比较好的是smallpdf,用的是国外Solid Documents提供的技术,文字、表格都不错,合并单元格就不行了,认不出来,或者对不齐。

Acrobat是最好用的转word工具,悲剧的是需要12.99刀一个月。还是有点小贵,如果偶尔转个word的话,12.99就更不划算了。

理想的方案呢??理想的方案呢??理想的方案呢??

刺猬PDF,官方网站http://www.ciweipdf.com,实现方案是这样的,用acrobat的技术做转化,因此效果是最好的,你可以理解为共享收费版acrobat。因此理想的pdf转word产品是免费的在线版本——刺猬PDF!

编辑于 2017-07-31