首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pytessaract image_to_pdf_or_hocr函数在AWS中不工作

Pytessaract image_to_pdf_or_hocr函数在AWS中不工作
EN

Stack Overflow用户
提问于 2021-03-15 06:39:32
回答 2查看 554关注 0票数 3

我使用这个存储库将tesseract部署为lambda层:https://github.com/bweigel/aws-lambda-tesseract-layer

该部署和pytesseract所喜欢的其他功能运行良好:image_to_stringimage_to_data也运行良好,没有任何干扰。

但是,当我尝试像这样使用image_to_pdf_or_hocr时:

代码语言:javascript
复制
pdf = pytesseract.image_to_pdf_or_hocr(f'/tmp/{file_name}/{page.number}.png', extension='pdf')

它不工作,并抛出错误如下:

代码语言:javascript
复制
Traceback (most recent call last):
File "/var/task/helpers/ocr_helper.py", line 36, in save_searchable_pdf
f'/tmp/{file_name}/{page.number}.png', extension='pdf')
File "/var/task/pytesseract/pytesseract.py", line 432, in image_to_pdf_or_hocr
return run_and_get_output(*args)
File "/var/task/pytesseract/pytesseract.py", line 289, in run_and_get_output
with open(filename, 'rb') as output_file:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tess_6_hu78b0.pdf'
  1. 它说文件tess_6_hu78b0.pdf不存在。这是什么意思?首先,我没有带有tess_6_hu78b0名称的文件。
  2. 我传递给image_to_pdf_or_hocr函数的路径是100%正确的,并且有一个图像在那里。我已经确认了,同样的事情也适用于我的本地人。

我试过:

我也找到了需要安装libtesseract-dev的地方。因此,我将我的dockerfile修改为:

代码语言:javascript
复制
FROM lambci/lambda:build-python3.6
RUN sudo apt install tesseract-ocr
RUN sudo apt install libtesseract-dev

但不幸的是,这也不起作用。

EN

回答 2

Stack Overflow用户

发布于 2021-03-16 13:33:15

经过18个小时的辛勤工作,我终于找到了答案。

事实证明,https://github.com/bweigel/aws-lambda-tesseract-layer并没有与运行pytesseract.image_to_pdf_or_hocr()所需的所有文件捆绑在一起。

所以我所做的是,我从源代码构建leptonicatesseract,并生成

  • 托拉斯文件夹
  • tessconfigs文件夹和
  • pdf.tiff文件

这些必需的文件可以在这里获得:https://github.com/prameshbajra/tessdata

https://github.com/bweigel/aws-lambda-tesseract-layer内部,ready-to-use文件夹下有一个名为amazonlinux-1的目录,其中有一个名为tesseract/share/tessdata的文件夹。您所需要做的就是粘贴到该目录下的上面列出的文件中。

只需下载回购并替换tessdata文件夹即可。

注意:这个tessdata是用tesseract 4.1.1构建的。

我希望这对未来的读者有帮助。编码愉快。

感谢本杰明·根兹(@bweigel)出版了这篇文章。你让我们的生活更轻松了。

票数 3
EN

Stack Overflow用户

发布于 2022-09-02 08:48:12

添加这个配置参数为我修复了它,灵感来自于这个解决方案 :)

代码语言:javascript
复制
pytesseract.image_to_pdf_or_hocr("Image.png", extension="pdf", config = " -c tessedit_create_pdf=1")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66633373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档