将PDF转换为XML-XSL - Java?

时间:2012-07-16 11:44:05

标签: java xml java-ee xslt

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

3 个答案:

答案 0 :(得分:4)

我曾经将PDF转换为XML转换为尝试将汉堡包转换为奶牛。这是逆向工程的练习。 PDF在表示文本的方式上变化很大;在更糟糕的情况下,您拥有的只是一张扫描图像(在这种情况下,您基本上是在进行OCR)。如果你很幸运,你有一组文本字符串,其坐标显示在页面上,但没有其他结构表示。

如果PDF采用他们理解的形式,有些工具可以完成合理的工作(通常是生成Microsoft Word)。谷歌“PDF到Word的转换”。尝试一下(我这样做了一段时间);不要试图自己写。当然,从Word中获取XML是“相对”直截了当的。

答案 1 :(得分:2)

PDFTextStream可以轻松地将PDF文档中的文本作为XML提取。 PDFTextStream中包含一个特定的PDF-> XML方法 - XMLOutputTarget - PDFTextStream中包含其来源,因此您可以轻松调整它以满足您的要求。

Code samples可以开始使用,或者您可以更深入地了解how PDF text extraction with PDFTextStream works

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

答案 2 :(得分:0)

我认为Michael Kay在描述PDF时对其进行了抨击 - > XML转换为'尝试将汉堡包转换为奶牛'。

我过去做过很多PDF到XML的转换。我很幸运,我有不错的PDF转换,不需要OCR。我的大部分问题都围绕着桌子和图形。像迈克尔建议的那样首先转换为Word可能有助于这些。

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