常见的Python代码段都是直接提取PDF文本然后写入Word,这样必然丢失了文本样式、表格、页面版式等。推荐一个自己写的PDF转docx的Python库(支持文本/图片/表格样式、批量转换、多线程转换):
目前还在断断续续的开发和改进中,更多介绍及文档转换效果参考文章:
从视觉呈现上来看,PDF文档和Word文档表征相同的内容(文本、图片等)和格式(字体、段落、表格等);但实际上完全是不同的格式和规范:
读取PDF内容(常用Python库如、、、、)仅仅是PDF转Word的第一步,猜想这也是题主问题(转换后格式有问题,图片丢失)的根源。
真正难点在于建立从PDF基于元素位置的格式到Word基于内容的格式的映射。PDF中实际并不存在段落、表格的概念,这个转换就是要将PDF中“横、竖直线围绕着文本”解析为Word的“表格”,将“文本及下方的一条横线”解析为“文本下划线”,等等。
基于这样的思路,我尝试写了一个Python库。支持Windows和Linux平台,要求Python版本>=3.6。目前还在断断续续的开发和改进中,不过已经能够处理一些常见的、规范的PDF到Word格式转换。
其中,start
和end
参数指定页码范围(下标从0开始),默认转换所有页(start=0, end=None,可省略);也可以通过pages
指定不连续的页面,例如pages=[1,3,5]
。
最后,上传两个样例展示转换效果(左边为PDF文档,右侧为转换后的Word文档)。
我试图编写一个示例代码,将 pdf 的内容转换为 word 这是代码:
虽然我已经安装了模块 pdf2docx ,但它仍然不存在
该模块似乎被称为 pdf2docx,而您添加了一个“s”来制作 pdf2docsx
关注本站官方公众号:程序员总部,领取三大福利! 福利一:python和前端辅导 福利二:进程序员交流微信群,专属于程序员的圈子 福利三:领取全套零基础视频教程(python,java,前端,php)
关注公众号回复python,免费领取,回复充值+你的账号,免费为您充值1000积分
所属网站分类: 技术文章 >