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!

PDF转WORD为什么这么难相关推荐

  1. “人工”智能框架下的PDF转Word试探

    众所周知,PDF转Word是一大难题,扫描件的PDF转Word更是难上加难.经过一番探索发现,网上现有的PDF转Word 免费资源①,大多数都无法进行OCR(Optical Character Rec ...

  2. pdf 加深 扫描件_为什么PDF文档不能像Word文档一样随便编辑?如何免费将PDF转换为Word?...

    PDF文档是一种非常难编辑的文档,有时候我们需要编辑或者复制PDF文档里面的内容,把PDF文档转换为Word就是我们最佳的选择.为什么PDF文档这么难编辑?我们怎么免费把PDF文档转换为Word文档? ...

  3. blob显示在word编辑器中_你最头疼pdf转word,这里有最全面的转换方法,让工作更轻松...

    我们在工作中经常要涉及到格式转换,特别涉及到文档格式之间的转换,为难了很多工作中的职场人士.俗话说"书到用时方恨少".我们平常多积累一些职场中的小技巧,自然在工作中就不会发难. 在 ...

  4. .net core word转pdf_免费在线转换PDF转Word、Word转PDF,办公必备神器

    哈哈哈,早上好 我是勤奋更新的菜鸟 今天好几个同事问我 有没有办法把Word转PDF 当时我就笑了,这是个问题吗 后来想了想 确实不少人会遇到这个问题 PDF不能编辑,转换不好出乱码啥的 想想还挺闹心 ...

  5. .net core word转pdf_Enolsoft PDF to Word with OCR for Mac(PDF转Word软件)

    Enolsoft PDF to Word with OCR mac版是Macos上一款功能强大的PDF转Word软件,这款软件可以通过ocr技术将pdf文件扫描并转换为word文档,不管你要转换的pd ...

  6. 教你免费将手机里的PDF转Word还能同步到电脑

    将手机里的PDF文档进行转换并不是什么新鲜且很难的事情,一般使用软件或者在线都能直接转换,当然免费的也能找到.但如果还要将转换后的文档也同步到电脑上呢? 先将PDF文档发到电脑再转换?还是手机转换后再 ...

  7. PDF转Word文档怎么转?两招教你学会PDF转word

    最近小编发现周围的同事每天都被PDF转Word文档这个问题导致加班到很晚,原来老板前些天给了很多PDF格式的文件,还要求把这些PDF文件转成word文档的格式,他们不知道怎么转,竟然一个个对着PDF文 ...

  8. Python办公自动化,合并excel+pdf转word等

    今天给大家推荐我的朋友-辰哥,公众号[Python研究者]的号主. 辰哥的公众号经常分享自己的原创干货,包括但不仅限于Python爬虫.数据分析.数据可视化.自动化办公(Excel.word等).py ...

  9. 不知道怎么把PDF文档转Word?来看看这几个好用的PDF转Word软件

    在日常工作中,我们经常需要复制PDF文件中的内容.可是由于PDF文档属性是不可编辑的,我们很难复制或者拷贝其内容.如果可以把PDF文档转为Word,我们就能快速完成复制粘贴的操作.那你们知道好用的PD ...

最新文章

  1. Transformer的潜在竞争对手QRNN论文解读,训练更快的RNN
  2. STM32串口中断接收方式详细比较
  3. 就是这么简单(续)!使用 RestAssuredMockMvc 测试 Spring MVC Controllers(转)
  4. jQuery mobile 之三
  5. Qt:error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1800
  6. echarts 仪表盘 文字位置_方法 | 用notion打造个人仪表盘
  7. php软件开发--tp5
  8. 优雅 | koa处理异常
  9. 蓝桥杯单片机:11届决赛
  10. leetcode - Best Time to Buy and Sell Stock Ⅱ
  11. mc2180 刷机方法_MC控制和时差方法
  12. Intel APIC Configuration
  13. Android自定义View:带你了解神秘的MeasureSpec类
  14. div 设置a4大小_转载 网页打印时设置A4大小
  15. pr 快捷键自我需要总结
  16. 百钱买百鸡,3文钱一只公鸡,2文钱一只母鸡,1文钱可以买3个小鸡,要求用100文钱买100只鸡
  17. 【​观察】 娃娃也能编程?微软“编程一小时”让你家娃也能变身编程达人
  18. 基于android的记账本国内外研究现状,基于android系统的记账本的设计与实现.doc
  19. 产品学习笔记(产品分析报告篇)
  20. python处理excel的时间格式_Python处理Excel使用pandas处理时间格式数据

热门文章

  1. CSTC—基于零仲裁证明的价值协议
  2. Data Analysis
  3. 关闭弹出的WPS广告提示
  4. kube-apiserver启动时报错并且不能操作etcd
  5. 最左前缀 mysql优化器_mysql查询优化之索引类型、最左前缀
  6. 全新设计 水果忍者-穿靴子的猫官方中文版首发
  7. 安装nodejs时提示Leaving directory
  8. 【Gitlab】配置、运行Gitlab容器实例及简单使用测试
  9. python学习笔记(二)--深入了解python函数
  10. 机器学习项目实战——10决策树算法之动物分类