python 安装pdf2docx 时一直不成功?

常见的Python代码段都是直接提取PDF文本然后写入Word,这样必然丢失了文本样式、表格、页面版式等。推荐一个自己写的PDF转docx的Python库(支持文本/图片/表格样式、批量转换、多线程转换):

目前还在断断续续的开发和改进中,更多介绍及文档转换效果参考文章:

从视觉呈现上来看,PDF文档和Word文档表征相同的内容(文本、图片等)和格式(字体、段落、表格等);但实际上完全是不同的格式和规范:

  • PDF精确定位内容及其在页面上的位置,便于保证不同平台、设备上文档格式的一致性,不会像Word那样因为渲染引擎的不同而出现格式错乱、多页少页等问题。
  • Word则是一种流式布局,元素之间的相对距离决定了其呈现在页面上的最终位置。因此适合编辑内容,前文内容的修改自动触发后续文档布局的更新。

读取PDF内容(常用Python库如、、、、)仅仅是PDF转Word的第一步,猜想这也是题主问题(转换后格式有问题,图片丢失)的根源。

真正难点在于建立从PDF基于元素位置的格式到Word基于内容的格式的映射。PDF中实际并不存在段落、表格的概念,这个转换就是要将PDF中“横、竖直线围绕着文本”解析为Word的“表格”,将“文本及下方的一条横线”解析为“文本下划线”,等等。

基于这样的思路,我尝试写了一个Python库。支持Windows和Linux平台,要求Python版本>=3.6。目前还在断断续续的开发和改进中,不过已经能够处理一些常见的、规范的PDF到Word格式转换。

其中,startend参数指定页码范围(下标从0开始),默认转换所有页(start=0, end=None,可省略);也可以通过pages指定不连续的页面,例如pages=[1,3,5]

最后,上传两个样例展示转换效果(左边为PDF文档,右侧为转换后的Word文档)。

综合样例,涉及段落、文本样式、表格样式及图片
复杂一些的表格 (椭圆章上旋转角度的字都丢掉了,目前仅支持水平、竖直的文字;密码区第三行字符“49”后面需要手动加一个软回车)

我试图编写一个示例代码,将 pdf 的内容转换为 word 这是代码:

虽然我已经安装了模块 pdf2docx ,但它仍然不存在



该模块似乎被称为 pdf2docx,而您添加了一个“s”来制作 pdf2docsx

关注本站官方公众号:程序员总部,领取三大福利! 福利一:python和前端辅导 福利二:进程序员交流微信群,专属于程序员的圈子 福利三:领取全套零基础视频教程(python,java,前端,php)
关注公众号回复python,免费领取,回复充值+你的账号,免费为您充值1000积分


所属网站分类: 技术文章 >


我要回帖

更多关于 笨办法学python3 pdf 的文章

 

随机推荐