pdftoocr对pdf文档进行ocr处理。ocr中的文本用于搜索结果。

Products.PDFtoOCR的Python项目详细描述


简介

pdftoocr使用ocr处理pdf文档中的文本。这是必须的 无法从(扫描的)PDF中提取文本时。pdftoocr使用内容规则 安排ocr处理。处理不能一蹴而就,因为 带有自定义textindexng插件的示例。使用处理大型PDF文档 ocr是一个耗费时间/处理器的任务。

配置

在操作系统上

pdf-to-text使用了三种在linux下可用的工具。这个 与这些工具的合作只在debian中测试过。但这可能是遗嘱 在其他环境工作。

安装要求,pdf到ocr使用以下程序:

  • pdftotext,检查是否需要进行ocr处理
  • ghostscript,将PDF文档转换为TIFF图像
  • tesseract,做ocr处理(确保你有所有的语言包!*)

设置环境变量:

  • 必须设置环境变量$gs并指向ghostscript二进制文件。
  • 环境变量$tesseract必须设置并指向tesseract二进制文件。

在plone站点

添加内容规则

  • 事件触发器:修改对象并添加对象
  • 条件:内容类型为文件
  • 操作:将PDF的OCR输出存储在可搜索文本中

将内容规则分配给plone站点或文件夹

安装cron4plone并添加以下cronjob:portal/@do_pdf_ocr_index

用法

只需添加一个带有pdf文档的文件。也可以选择语言,以便OCR 引擎在索引时可以使用字典。只有有限的语言是 由Tesseract支持。

索引文档的概述可以在控制面板中找到,“PDF到OCR状态”。 在此状态页(RE)的文档索引是可能的。

PDF处理

每次添加或修改文件时,都会添加该文件的唯一id(uid) 排队。这个队列是持久的,并且有两个功能,用于索引EN索引。 索引函数使用队列来处理文档。当使用所有的索引 将处理队列历史记录中的文件。

如果使用pdftotext从pdf文档提取文本,则不执行ocr。否则 ocr提取文本并将其存储为内容类型文件。atfile用 额外字段以容纳提取的文本和pdf的语言。

页面视图:

  • @“do_pdf_ocr_index-索引队列中的文档
  • @do_pdf_ocr_reindex-重新索引plone站点中的所有pdf文档
  • @pdf\u ocr\u状态-显示队列和历史记录10个文档

进一步阅读:

http://plone.org/documentation/how-to/ocr-in-plone-using-tesseract-ocr/http://code.google.com/p/tesseract-ocr/

  • 确保/usr/local/share/tessdata/
  • 中没有空的语言文件

也许将来是个不错的选择,使用Tesseract但是很难设置 测试版仍然太多: http://sites.google.com/site/ocropus/

更改日志

1.1

  • 与plone 4兼容
  • 添加了控制面板页
  • 字段“text from ocr”是使用archetypes.schemaextender而不是monkey补丁添加的
  • 不再使用旧式的外部方法在文件系统上执行操作。
  • 添加了文档测试

1.0-首次发布

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
amazon web services Java AWS s3:如何使用Md5预签名url设置和上载内容   twitter使用java从推文中排除一些单词   如何在GUI java中添加延迟时间   java程序,如何使用Outputstream发送两次消息   java为什么是javax。在将Yasson与JSONB一起使用时,Glassfish中的json需要作为依赖项吗?   如何从dist文件夹中读取文件   java如何获取与模式匹配的文件列表   java如何使用Intent从Android应用程序发送彩信?   java限制对Spring的依赖,同时又不丧失框架的功能   java是否将捕获异常报告给Firebase/Fabric等?   用jdbcjava实现mysql分页   给定URI的java注释检索   java是序列化/反序列化公共枚举的简单方法?   java如何使用jMockit模拟本机方法