【问题标题】:Extract specific parts of PDF documents [closed]提取PDF文档的特定部分[关闭]
【发布时间】:2012-12-16 22:10:13
【问题描述】:

我有多个 (30) 个 PDF 文件,每个包含 48-96 页。所有页面的布局都是相同的,只是其他内容(数字、图表)。

背景:这些页面是光纤电缆测量的 PDF 报告,我必须按照电缆的衰减对它们进行分类。由于机密问题,很遗憾我无法提供示例文件。

为了验证这些报告,我们正在做一些控制样本,这就是我需要对报告进行排序的原因。现在的问题是:如何仅将所有 pdf 文件中所有页面的特定部分导出为我可以排序的某种格式?

如前所述,值在页面上的位置非常具体。它也已经是“解析”的内容,因此可以在 PDF 文件中“作为文本”使用,因此不会被扫描,也不需要 OCR。

感谢任何帮助。我目前不知道如何解决这个问题,它可能是一些可以做类似事情的工具,或者是解决这个问题的编程方法。

【问题讨论】:

  • 只是为了确定,那些所有pdf文件中所有页面的非常具体的部分在所有这些文件中都位于相同的坐标处?由于您已经在 excel 文件中“以文本形式”获得了数据,您不再需要从 PDF 中导出数据,对吗?
  • 啊,对不起。它以 PDF 文件中的文本形式提供,修正了该错字。谢谢!是的,这些特定的文本 sn-ps 总是位于每个页面的相同坐标上。
  • 您在寻找什么样的解决方案?你准备好做一些编程了吗?如果是,哪种语言/环境?如果您使用 Java 或 .Net,您可以使用例如的解析器包功能来实现任务。 iText(Sharp)(但也有其他好的库)。
  • 嗯,我知道我应该在问题中提供更多信息。我不知道解决方案会是什么样子。也许 Adob​​e Acrobat 可以做到这一点(我不知道),或者任何其他工具。它也可以是一个编程解决方案,我更喜欢 php、perl 或 java。我没有真正的想法,希望得到一些意见......

标签: excel pdf converter


【解决方案1】:

正如您在 cmets 中对原始问题所指出的那样,您已准备好编写解决方案。我建议使用 Java 和 iText PDF 库。只要文本实际上是可提取的,它就可以让您从文档中提取文本(您实际上可以将字形放入 PDF 中,但放弃从字形到字符的映射)。

您可以在iText in Action — 2nd EditionExtractPageContent* samples for chapter 15 中找到使用 iText 提取 PDF 文本的示例代码。尤其是ExtractPageContentArea 对您的情况很感兴趣。

基本上,您只需提取该样本并对其进行概括,也可以从页面上的多个区域提取文本。

【讨论】:

  • 感谢您的回答。到目前为止,我已经编写了一个小型 Java 应用程序,它需要一个或多个 PDF 页面,解析一组矩形上给出的结果并以多种方式导出结果(当前是控制台、文本和 csv)。我有一个问题:目前我只是放置了随机矩形,用于测试目的。如何提取给定 PDF 文件中文本区域的 x/y 坐标?在后面的步骤中,将出现一个小的 GUI,其中将显示一个小的预览,允许简单地“绘制”矩形......但是对于这个我需要在星期一之前完成的任务,我必须手动完成。
  • 好吧,我自己发现了。使用GSView,我能够打开一个 PDF 文件并获取文本元素的位置。
  • 一般来说,您可以检索定义可见页面区域坐标的文件的媒体框。
猜你喜欢
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 2011-10-23
  • 1970-01-01
  • 2011-01-20
  • 2020-11-26
  • 1970-01-01
相关资源
最近更新 更多