了解PDF DOM

时间:2011-04-29 18:22:16

标签: vb.net pdf vba

我正在编写一个应用程序,它必须读取和解释存储在某些PDF文件中的数据。阅读部分已完成,但我只能在页面上转储所有单词,而不是单词的格式。我的意思是,如果我必须提取一个表,我会得到表中的数字,但不是定义表的标记。

此外,还有一些格式用于在括号内显示这些数字中的一些(意味着这些数字是负数),但括号本身不是文本的一部分。因此,我无法区分PDF表格中的正数和负数!

如何获得PDF标记以及文本? PDF是否在结构上类似于带有用于标记表等的标记的XML?如果没有,那么,是否存在描述PDF DOM显着特征的资源?

我正在使用VBA和Acrobat库(AcroExch等)

4 个答案:

答案 0 :(得分:4)

在HTML等意义上没有“PDF标记”这样的东西。除了使用OCR之外,PDF中的表格不能与艺术线条区分开来,如果布局复杂,这可能容易出错。它只是使用几何形状绘制,就像在基于矢量的图形程序中一样。

答案 1 :(得分:3)

“PDF是否与XML结构类似,带有用于标记表格的标记等?”

不,完全没有。

也没有“DOM”这样的东西。谷歌的文件名为* PDF32000_2008.pdf *。 v1.7(ISO规范)的当前PDF规范就是该文件。您应该能够在Adobe网站上找到它。

答案 2 :(得分:2)

正如omz所说,PDF中的文本实际上没有结构。您可以查看规范here。但是,对于某些非常具体的文件,有一种叫做PDF标签或PDF标记内容的东西,这是相当新的,它的目的是为PDF文档提供某种结构。如果你专门针对这种文件,你可能能够实现某些目标。请查看Adobe规范的第10章(文档交换)以获取更多详细信息。

答案 3 :(得分:2)

使用 TET ,可以通过pdflib.com(http://www.pdflib.com/products/tet/的优秀人员制作的文本提取工具包),以更少的工作量和更快的速度完成您想要实现的目标。

AFAIR,TET也有一些(有限的)表格检测支持......