|
发表于 2023-7-21 22:43:58
|
显示全部楼层
根据错误信息和代码分析,出现错误的原因是在第14行尝试调用pdf_reader.pages(page_num),但是pages应该是属性而不是方法。所以需要将该行代码修改为page = pdf_reader.pages[page_num]。
修改后的代码如下:
- #pip install PyPDF2 python-docx
- import os
- import PyPDF2
- from docx import Document
- def pdf_to_docx(input_path, output_path):
- pdf_file = open(input_path, 'rb')
- pdf_reader = PyPDF2.PdfReader(pdf_file)
- document = Document()
- for page_num, page in enumerate(pdf_reader.pages, start=1):
- page = pdf_reader.pages[page_num]
- text = page.extract_text()
- paragraph = document.add_paragraph()
- paragraph.add_run(text)
- document.save(output_path)
- pdf_file.close()
- # 示例用法
- input_file = 'f:\\'+input('请输入要转换的文件名')+'.pdf'
- output_file = 'f:\\'+input('请输入要保存的文件名')+'.docx'
- pdf_to_docx(input_file, output_file)
复制代码
请注意,还有一处问题是输入文件名和输出文件名时的路径拼接方式。根据你的代码,会将文件保存在f:\\根目录下。如果你希望保存到其他目录,请修改input_file和output_file的定义。
希望对你有帮助!如有其他问题,请随时提问。
为什么不给我设置一个最佳答案呢?点它 -> |
|