pdf文件转word文件——Python工具之pdf2docx库的安装+使用+问题解决

#创作灵感#

偶尔在网上看到一篇文章《太牛了!只需2行代码,轻松将PDF转换成Word!》,知道了pdf2docx这个库,于是试了一下实现效果,感觉还行,记录下来。上面文章写的有些杂乱错误,仅供参考。

安装第三方库的时候,记得注意,如果新建了虚拟环境,需要将库安装到你的虚拟环境下,否则会导致import导入报错,因为你的虚拟环境中没有你安装的库,你把库安装到默认环境中(例如Anaconda的base环境中),在新建的虚拟环境中,是无法使用的,除非解释器使用默认的解释器。

环境配置:我使用的是Anaconda安装的Python3.10,Pycharm作为编辑器,并使用Pycharm在Anaconda中新建了虚拟环境,如下图。

安装pdf2docx库:在上图中点击Anaconda图标,使用Conda软件包管理器进行安装,点击+号,在弹出的对话框中输入pdf2docx进行搜索,安装。

遇到报错:注意文件名不要和库名重复,否则会报错。例如我最开始把文件命名为pdf2docx.py,结果一直报错,ImportError: cannot import name 'Converter' from partially initialized module 'pdf2docx' (most likely due to a circular import) 。

修改错误:将文件名改为pdf2word,错误消失,并成功将pdf文的转换为docx文件。

实现代码:代码中start=0是pdf转换的起始页,end=123是结束页,如果不填这两项就是默认从第一页至最后一页。

from pdf2docx import Converter

pdf_file = 'D:\pythonProject\pythonExploring\P020231128362131003708.pdf'
docx_file = 'D:\pythonProject\pythonExploring\P020231128362131003708.docx'
conv = Converter(pdf_file)
conv.convert(docx_file, start=0, end=123)
conv.close()

转换效果:对比了原pdf文件和转换后生成的docx文件内容,准确率很高。

pdf界面

word界面

参考文章:

用python把pdf文件转换为word文件 | pdf2docx 安装 + 快速使用_python pdf2docx-CSDN博客6行python代码使用pdf2docx模块Converter对象将pdf转换为docx文件_pdf2docx converter-CSDN博客

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将复杂的PDF文件换为Word文档,可以使用Python中的一些工具。以下是一些可能有用的步骤: 1. 安装pdfminer使用以下命令在命令行中安装pdfminer: ``` pip install pdfminer ``` 2. 安装python-docx使用以下命令在命令行中安装python-docx: ``` pip install python-docx ``` 3. 使用pdfminer解析PDF文件并将其换为文本: ```python from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter, XMLConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage from io import StringIO from io import open # 函数:将PDF文件换为文本 def pdf_to_text(pdf_file_path): # 创建一个PDF资源管理器对象来存储共享资源 resource_manager = PDFResourceManager() output_string = StringIO() codec = 'utf-8' laparams = LAParams() converter = TextConverter(resource_manager, output_string, codec=codec, laparams=laparams) with open(pdf_file_path, 'rb') as file: interpreter = PDFPageInterpreter(resource_manager, converter) password = "" maxpages = 0 caching = True pagenos = set() for page in PDFPage.get_pages(file, pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=True): interpreter.process_page(page) converter.close() text = output_string.getvalue() output_string.close() return text ``` 4. 使用python-docx将文本换为Word文档: ```python import docx # 函数:将文本保存为Word文件 def save_text_as_word(text, word_file_path): doc = docx.Document() doc.add_paragraph(text) doc.save(word_file_path) ``` 调用上述函数即可将PDF文件换为Word文档: ```python pdf_file_path = 'path/to/pdf/file.pdf' word_file_path = 'path/to/word/file.docx' text = pdf_to_text(pdf_file_path) save_text_as_word(text, word_file_path) ``` 请注意,这种方法可能无法完美地保留PDF文件的格式和布局。对于非常复杂的PDF文件,可能需要手动编辑生成的Word文档来实现最佳结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值