以编程方式识别 PDF 文件中的扫描文本 [关闭]

2024-05-13

我有一个 PDF 文件,其中包含我们需要导入数据库的数据。这些文件似乎是打印的字母数字文本的 pdf 扫描件。貌似是10分英语字体格式一种。

是否有任何工具或组件可以让我识别和解析此文本?


我用过pdf转html http://pdftohtml.sourceforge.net/成功地将表格从 PDF 中剥离为 CSV。它基于Xpdf http://www.foolabs.com/xpdf/portsntools.html,这是一个更通用的工具,包括pdf转文本 http://en.wikipedia.org/wiki/Pdftotext。我只是将其包装为来自 C# 的 Process.Start 调用。

如果您正在寻找更 DIY 一点的东西,这里有iTextSharp http://itextsharp.sourceforge.net/库 - Java 的一个端口iText http://www.1t3xt.com/products/index.php - and PDFBox http://www.pdfbox.org/(是的,它说的是 Java - 但他们有一个 .NET 版本IKVM.NET http://www.ikvm.net/)。这里有一些关于使用的 CodeProject 文章iTextSharp http://www.codeproject.com/KB/cs/PDFToText.aspx and PDFBox http://www.codeproject.com/KB/string/pdf2text.aspx来自 C#。

而且,如果你是really一个受虐狂,你可以调用 Adob​​e 的PDF I过滤器 http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611与 COM 互操作。这过滤器规格 http://msdn.microsoft.com/en-us/library/ms691105.aspx非常简单,但我猜互操作开销会很大。

编辑:重新阅读问题和后续答案后,很明显OP正在处理images在他的 PDF 中。在这种情况下,您需要提取图像(上面的 PDF 库可以相当轻松地做到这一点)并通过 OCR 引擎运行它。

我用过MODI http://en.wikipedia.org/wiki/Microsoft_Office_Document_Imaging之前进行过交互,取得了不错的效果。它是 COM,因此通过互操作从 C# 调用它也是如此doable http://secure.codeproject.com/KB/office/OCRSampleApplication.aspx和漂亮simple http://msdn.microsoft.com/en-us/library/aa167607.aspx:

' lifted from http://en.wikipedia.org/wiki/Microsoft_Office_Document_Imaging
Dim inputFile As String = "C:\test\multipage.tif"
Dim strRecText As String = ""
Dim Doc1 As MODI.Document

Doc1 = New MODI.Document
Doc1.Create(inputFile)
Doc1.OCR()  ' this will ocr all pages of a multi-page tiff file
Doc1.Save() ' this will save the deskewed reoriented images, and the OCR text, back to the inputFile

For imageCounter As Integer = 0 To (Doc1.Images.Count - 1) ' work your way through each page of results
   strRecText &= Doc1.Images(imageCounter).Layout.Text    ' this puts the ocr results into a string
Next

File.AppendAllText("C:\test\testmodi.txt", strRecText)     ' write the OCR file out to disk

Doc1.Close() ' clean up
Doc1 = Nothing

其他人喜欢超立方体 http://code.google.com/p/tesseract-ocr/,但我有直接的经验。我听说过有关它的好消息和坏消息,所以我想这很大程度上取决于您的源质量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式识别 PDF 文件中的扫描文本 [关闭] 的相关文章

  • 如何在angularjs中读取pdf流

    I got the following PDF stream from a server 如何在 AngularJS 中读取这个流 我尝试使用以下代码在新窗口中将其作为 PDF 文件打开 success function data wind
  • 使用 html2canvas 将 highcharts 图表渲染为 pdf 在 IE 和 Firefox 上不起作用

    我们使用 html2canvas js 和 html2canvas svg js 版本 0 5 0 beta1 以及 highcharts js 将圆环图下载为 pdf 这在 Chrome 中按预期工作 但在 IE 和 Firefox 中不
  • 如何使用 PDFBox 创建转到*上一视图*的链接?

    通过使用 PDFBox 可以轻松创建指向特定页面或页面视图的链接PDPageDestination 例如 以下代码将创建一个转到第 9 页的链接 PDAnnotationLink link new PDAnnotationLink PDPa
  • 重命名 PDF 文件中的指定目标

    我一直在 PDF 文件中使用命名目标来在文件中的特定位置打开 PDF 文件 负责生成 PDF 文档的团队使用工具从书签自动生成命名目的地 因此命名目的地往往具有诸如 9 Glossary 或 Additional Information 之
  • pyPDF通过django合并并显示为httpresponse

    我在合并 pyPDF 逻辑以将两个 pdf 文件合并到我的 django 站点时遇到问题 我编写了在本地服务器上的 python 文件中运行时用于合并文件的代码 但我需要明确识别要合并的文件 from pyPdf import PdfFil
  • 在 google Vision OCR 中被识别为单个单词的特殊字符?

    我试图让谷歌视觉 OCR 正则表达式可搜索 我已经完成了它 并且当文档仅包含英文字符时效果很好 但当有其他语言的文本时 它就会失败 发生这种情况是因为我在谷歌视觉单词组件中只有英文字符 如下所示 VISION API WORD COUNTE
  • 使用什么来生成包含动态生成的条形码的 pdf 文档(Java)?

    我的要求要求生成包含任意文本和条形码的 pdf 文档 我有相关的question https stackoverflow com q 6625849 59470它解决了pdf生成部分 但在这里我想知道如何在Java中将条形码合并到pdf中
  • 如何使用回形针对多页 pdf 进行缩略图

    我想让 Paperclip 为上传的多页 PDF 文件的每一页创建 2 个缩略图 我正在运行 Paperclip 2 3 1 1 并在我的资产模型中使用它 has attached file asset styles gt medium g
  • Tess4j 问题 java.lang.UnsatisfiedLinkError

    我正在尝试解决 Tess4J 安装问题 1 我在 WEB INF win32 x86 中创建了一个文件夹2 我把 libtesseract302 dll 和 liblept168 dll 放在那里 然后将其添加到 java 构建路径中的源
  • 为什么 WebView 中的 dataWithPDFInsideRect 不能在 Mavericks 上创建高质量的 PDF?

    Run 示例项目 https github com tvarghese TestWebView并观察桌面上生成的输出 PDF 名为保存网页 pdf 粘贴感兴趣的代码片段 NSURL url NSBundle mainBundle URLFo
  • 如何以编程方式生成在图像顶部带有标签的维恩图图像?

    我正在尝试为 pdf 报告生成维恩图 其中文本位于不同区域的顶部 我们使用 htmldoc 生成 pdf 这会排除背景图像之上的文本 我们使用谷歌图表 API 来处理其他图像 但他们的维恩图不支持图表顶部的文本 据我所知 最简单的路径是使用
  • 使用cmd批处理文件获取pdf中的页数

    我可以看到使用 C PHP 和其他语言获取 pdf 中的页数有很多问题 但我想知道使用批处理文件或 cmd 是否有一种简单的方法来获取页数 Using pdftk http www accesspdf com pdftk pdftk my
  • itextsharp读取表[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我使用 itextsharp 创建了一个带有表格的 pdf 我找到了一个例子http itextsharp sourceforge n
  • Rails 4 - 如何链接到 PDF 文件(名称.PDF)?

    我正在生成 PDF 文件 我的链接如下所示 当我点击这个时 它会带我去 display invoice 123456789 这是一个 HTML 版本 在控制器中的操作如下 def display invoice if params invo
  • 如何去除给定图像中的噪声,使 ocr 输出完美?

    我已经对这个孟加拉文本图像进行了大津阈值处理 并使用 tesseract 进行 OCR 但输出非常糟糕 我应该应用什么预处理来消除噪音 我也想校正图像 因为它有轻微的倾斜 我的代码如下 import tesserocr from PIL i
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 编码员的 PDF 规范:Adobe 还是 ISO?

    我想编写一个可以读取和解码 pdf 文档的应用程序 现在我应该在哪里获取此文件格式的规格 PDF 格式是由 ISO 组织标准化的 但我不清楚哪里是获取此类信息的最可靠来源 什么是开始使用这种文件格式的好来源 您实际上可以使用您提到的两个来源
  • Windows 如何批量打印 PDF 文档?

    在我的机器上 当在 Windows 资源管理器中选择多个 PDF 文档时 右键单击并选择Print Adobe Acrobat Reader 将最小化打开 所有文档都会静默发送到打印机 我想做Windows一样的事情 但是怎么做呢 我在用P
  • 在 Python 中静默打印 PDF

    我正在尝试使用 Python 打印 PDF 而不打开 PDF 查看器应用程序 Adobe Foxit 等 我还需要知道打印何时完成 以删除文件 Here http permalink gmane org gmane comp python

随机推荐