你好,
我并非Python编程高手,因此需要更有经验的程序员的帮助和指导。最终成果或许能为市场带来极大的便利,服务于医药行业乃至其他行业的众多客户。
背景:
许多公司都有这样的流程:操作员将手写的数字和注释添加到预先设定的结构化纸张上,然后扫描成PDF文件。附件是一个示例。我们需要提取并分析这些信息。
问题在于,扫描的纸质文件是PDF格式的图像,无法通过PDF导入向导导入。此外,手写代码可能难以正确识别。目前许多制药公司的解决方案是让员工手动输入这些数据,有时需要花费2个小时,而且每周要重复2-5次。如果能提供一种更自动化的方式来提取至少一部分信息,对他们来说将非常有价值。
我做了一些研究,发现可以用 Python 从 PDF 文件中提取图像,然后再用一些软件包从图像中提取文本。以下是我找到的实现方法。
- 安装 pytesseract(OCR 引擎)和 pdf2image(将 PDF 页面转换为图像)。
- 工作流程:
- 将PDF页面转换为图像。
- 使用 pytesseract 对每张图像运行 OCR。
- 将提取的文本保存到文件或进行进一步处理。
这里我需要一些帮助/支持。我们的目标是利用附件中的文档作为概念验证。如果可行,我们可能会创建一个插件并将其发布到应用商店。
我敢肯定,这对很多公司来说都是一个巨大的安慰,也会让他们更加信赖 JMP。
有志愿者吗?
@Paul_Nelson
PS:(来自副驾驶)
下面是一个完整的 Python 脚本,它使用pdf2image和pytesseract将扫描的 PDF 文件转换为文本:
Python
from pdf2image import convert_from_path
导入 pytesseract
# 扫描的PDF文件路径
pdf_path = 'scanned_document.pdf'
# 将 PDF 页面转换为图像
pages = convert_from_path(pdf_path)
# 初始化一个变量来存储提取的文本
提取的文本 = ""
# 遍历每一页并应用OCR
for page_number, page in enumerate(pages, start=1):
text = pytesseract.image_to_string(page)
extracted_text += f"\n--- 第 {page_number} 页 ---\n{text}\n"
# 将提取的文本保存到文件
with open('extracted_text.txt', 'w', encoding='utf-8') as f:
f.write(extracted_text)
print("OCR提取完成。文本已保存到extracted_text.txt")
我认为pytesseract只能处理PDF中打字的部分。手写识别需要其他工具。或许这个链接可以作为参考?