我正在尝试使用以下代码从pdf文件的图像中提取文本。 PDF文件是合同文档,它是合同的扫描副本。 pdf文件中的所有页面都是图像。
当我尝试使用以下代码提取数据时,出现错误,提示它无法读取文件/无法识别图像文件。
try:
import Image
except ImportError:
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'
# Simple image to string
#print(pytesseract.image_to_string(Image.open('C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\1184.pdf')))
回溯(最近通话最近一次):
File "C:\Users\Administrator\eclipse-workspace\tesseract\test\greetings.py", line 18, in <module>
print(pytesseract.image_to_string(Image.open('C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\1184.pdf')))
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\PIL\Image.py", line 2622, in open
% (filename if filename else fp))
OSError: cannot identify image file 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\1184.pdf'
请帮助我怎么做
答案 0 :(得分:1)
您尝试打开pdf文件作为图像。他们的文档中不支持阅读pdf文件的枕头状态无法显示,请参见:https://pillow.readthedocs.io/en/5.1.x/handbook/image-file-formats.html
无论如何,您都可以使用pdf2image库将pdf转换为图像,然后用枕头将其打开并送入tesseract。