PDF到XML-XSL-Java的转换?
如何将PDF转换为XML并在XSL中捕获其结构/样式?我曾经将PDF转换为XML描述为试图将汉堡转换为奶牛。这是一个逆向工程的练习。PDF表示文本的方式非常多变;在更糟糕的情况下,您所拥有的只是一张扫描图像(在这种情况下,您实际上是在进行OCR)。如果幸运的话,您有一个文本字符串集合,其中包含它们在页面上出现位置的坐标,但没有其他结构指示PDF到XML-XSL-Java的转换?,java,xml,jakarta-ee,xslt,Java,Xml,Jakarta Ee,Xslt,如何将PDF转换为XML并在XSL中捕获其结构/样式?我曾经将PDF转换为XML描述为试图将汉堡转换为奶牛。这是一个逆向工程的练习。PDF表示文本的方式非常多变;在更糟糕的情况下,您所拥有的只是一张扫描图像(在这种情况下,您实际上是在进行OCR)。如果幸运的话,您有一个文本字符串集合,其中包含它们在页面上出现位置的坐标,但没有其他结构指示 如果PDF格式是他们能够理解的,那么有一些工具可以完成合理的工作(通常是生成Microsoft Word)。谷歌“PDF到文字转换”。试一下(我已经有一段时间
如果PDF格式是他们能够理解的,那么有一些工具可以完成合理的工作(通常是生成Microsoft Word)。谷歌“PDF到文字转换”。试一下(我已经有一段时间没有试过了);不要试图写你自己的。当然,从Word开始,使用XML是“相对”简单的。我认为Michael Kay将PDF->XML转换描述为“试图将汉堡包转换成奶牛”时,他说得很对 我在过去做过很多PDF到XML的转换。我一直很幸运,因为我有像样的PDF转换,不需要OCR。我的大部分问题都是关于表格和图形的。像迈克尔建议的那样先转换成单词可能会有帮助 我所做的是使用
pdftotext
from将PDF转换为文本,然后将文本转换为XML。(我使用Omnimark进行文本->XML转换,但您可能可以使用Java或Python进行转换。转换为基本结构然后使用XSLT(2.0!)可能是最简单的方法。)要对其进行微调。可以很容易地将PDF文档中的文本提取为XML。PDFTextStream中包含一种特定的PDF->XML方法——PDFTextStream中包含该方法的源代码,因此您可以轻松地对其进行调整,以满足您的需求
可以开始使用,或者您可以更深入地阅读
(披露:我受雇于PDFTextStream的制造商Snowtide。我希望这个指针在任何情况下都能有所帮助。)这不是一个简单的问题。“正常”的方法是使用XSL和XSL-FO生成XML数据的PDF呈现。相反的方法非常困难,您可以将PDF文本捕获为XML,这很“简单”,但将PDF布局转换回XSL IMHO并不容易。你为什么需要它?@David Oliván Ubieto需要实现类似于google books和scribd.com的东西。我无法理解处理PDF和获取XML数据以及XSL布局和scribd.com或google books之间的关系。这取决于你是在处理扫描的书籍,也就是图像,需要执行OCR,或者你得到一个PDF并需要显示它。你能提供更多详细信息和一些示例吗?@KamranShahid-我还没有完成从PDF到本机excel的转换,但我所做的是将PDF转换为csv。对于那些项目,最终用户更容易直接在excel中打开csv,因为不需要格式化或宏。我不明白为什么你不能直接转换成excel。