2

如何将 PDF 转换为 XML 并在 XSL 中捕获其结构/样式?

4

3 回答 3

5

我曾经将 PDF 到 XML 的转换描述为试图将汉堡包变成奶牛。这是逆向工程的练习。PDF 在表示文本的方式上变化很大。在更糟糕的情况下,您所拥有的只是一张扫描图像(在这种情况下,您实际上是在进行 OCR)。如果幸运的话,您有一组文本字符串,其中包含它们在页面上出现位置的坐标,但没有其他结构指示。

如果 PDF 是他们理解的格式,那么有些工具可以完成合理的工作(通常生成 Microsoft Word)。谷歌“PDF 到 Word 转换”。尝试一下(我已经有一段时间没有这样做了);不要尝试自己编写。当然,从 Word 到 XML 是“相对”简单的。

于 2012-07-16T14:04:12.893 回答
2

PDFTextStream可以轻松地将 PDF 文档中的文本提取为 XML。PDFTextStream 包含一种特殊的 PDF->XML 方法 — <a href="http://downloads.snowtide.com/javadoc/PDFTextStream/latest/pdfts/examples/XMLOutputTarget.html" rel="nofollow">XMLOutputTarget — PDFTextStream 中包含的源代码,因此您可以轻松调整它以满足您的要求。

代码示例可供入门,或者您可以更深入地阅读有关使用 PDFTextStream 提取 PDF 文本的工作原理

(披露:我受雇于 PDFTextStream 的制造商 Snowtide。我希望这个指针在任何情况下都有帮助。)

于 2012-07-25T16:44:20.797 回答
0

我认为 Michael Kay 将 PDF -> XML 转换描述为“试图将汉堡包转换为奶牛”时,他做到了这一点。

过去我做过很多 PDF 到 XML 的转换。我很幸运,我可以转换不需要 OCR 的不错的 PDF。我的大部分问题都与表格和图形有关。像迈克尔建议的那样首先转换为 Word 可能会有所帮助。

我所做的是使用 Xpdf 将 PDFpdftotext转换文本,然后将文本转换为 XML。(我使用 Omnimark 进行文本 -> XML 转换,但您可能使用 Java 或 Python 进行转换。转换为基本结构然后使用 XSLT(2.0!)进行微调可能是最简单的。

于 2012-07-16T18:50:55.440 回答