2

我如何知道 PDF 是否被标记?我正在开发一个程序,该程序将复制 PDF 文件中的文本并将其显示在我的应用程序中,因此我尝试测试 PDF 文件,我从 PDF 文件中复制了一个表格(普通复制+粘贴)并将其粘贴到 MS单词。结果是没有表格的普通文本。有一些问题是,当您从 pdf 文件复制表格并将其粘贴到 Word 时,它会变成图像。真的吗?

4

2 回答 2

4

如何确定 PDF 是否被标记?

根据您用于处理文件的库,您可以尝试MarkInfoCatalog字典中检索条目。

来自 PDF 规范:

表 3.25 目录字典中的条目
KEY: MarkInfo
TYPE:字典
VALUE:(可选;PDF 1.4)包含有关文档使用 Tagged PDF 约定的信息的标记信息字典(参见第 10.6 节,“逻辑结构”)。

但是,即使此属性的值设置为 TRUE,也并不意味着标签实际上会存在,如果存在,它们对于提取表格可能根本没有用处。您仍然可以找到带有仅用于标记段落和图片的标签的表格的 PDF 文件。

长话短说,除非正在生成应用程序将要使用的文件,以便您知道要查找哪些标签,否则依赖这些标签来“从 PDF 中提取表格”并不是一个好主意。

于 2012-10-04T16:59:00.753 回答
1

我找到了对另一个问题的评论,似乎已经回答了这个问题。

如何使用 iText java 读取 PDF 中的表格?

您可以从内容流中提取文本,但对于普通 PDF,结果将是纯文本(没有任何结构)。如果页面上有表格,则该表格将不会被识别。您将获得内容和一些空白,但这不是表格结构!只有当您有一个带标签的 PDF 时,您才能获得一个 XML 文件。如果 PDF 包含被识别为表格标签的标签,这将反映在 PDF 中。

这是来自http://support.itextpdf.com/node/27

于 2012-10-04T16:34:34.103 回答