PDF转WORD技术分析

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

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

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!(当然这是我做的一个小服务)欢迎大家使用,有问题留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容