|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
from pdf2image import convert_from_path
import pytesseract
# 设置路径
poppler_path = r'C:\Program Files\poppler-23.07.0\Library\bin'
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
# 将PDF转换为图片
def pdf_to_image(pdf_path):
images = convert_from_path(pdf_path, poppler_path=poppler_path)
# 对图片进行OCR识别
text_list = []
for image in images:
text = pytesseract.image_to_string(image, lang='chi_sim')
text_list.append(text)
return text_list
# 将识别结果保存到文件中
def save_text(text_list, file_path):
with open(file_path, 'w', encoding='utf-8') as f:
for text in text_list:
f.write(text + '\n\n')
# 示例用法
pdf_path = 'f:\\'+input('请输入要转换的文件名')+'.pdf'
output_file = 'f:\\'+input('请输入要保存的文件名')+'.txt'
# 提取简体中文文本
extracted_text = save_text(pdf_path)
# 保存文本到文件
save_text_to_file(extracted_text, output_file)
错误信息
请输入要转换的文件名123
请输入要保存的文件名123
Traceback (most recent call last):
File "D:\Python\ocr.py", line 31, in <module>
extracted_text = save_text(pdf_path)
TypeError: save_text() missing 1 required positional argument: 'file_path'
进程已结束,退出代码1
问题分析:
根据您提供的错误信息,发现了一个潜在的问题。在调用 save_text()函数时,缺少了一个必需的参数 file_path。
解决方案:
请尝试进行以下修改:
1. 将 save_text(pdf_path)修改为 extracted_text = pdf_to_image(pdf_path),以便获取从PDF提取的文本。
2. 将 save_text_to_file(extracted_text, output_file)修改为 save_text(extracted_text, output_file),以便将提取的文本保存到文件中。
- # 示例用法
- pdf_path = 'f:\\' + input('请输入要转换的文件名') + '.pdf'
- output_file = 'f:\\' + input('请输入要保存的文件名') + '.txt'
- # 提取简体中文文本
- extracted_text = pdf_to_image(pdf_path)
- # 保存文本到文件
- save_text(extracted_text, output_file)
复制代码
这样可以保证 save_text()函数正确接收两个必需的参数。
希望以上修改能够解决您遇到的问题。如果还有其他疑问,请随时提出。
球一个最佳答案谢谢啦!这对我非常重要! 
|
|