我如何知道PDF是否被标记?我正在开发一个程序,可以在PDF文件中复制文本并将其显示在我的应用程序中,所以我尝试测试PDF文件,我从PDF文件中复制了一个表格(普通复制+粘贴)并将其粘贴到MS中字。结果是没有表格的普通文本。当您从pdf文件复制表格并将其粘贴到Word时会出现一些问题,它会变成图像。这是真的吗?
答案 0 :(得分:4)
如何确定PDF是否已标记?
根据您用来处理文件的库,您可以尝试从MarkInfo
字典中检索条目Catalog
。
来自PDF规范:
表3.25目录词典中的条目
KEY: MarkInfo
TYPE:字典
VALUE:(可选; PDF 1.4)标记信息字典,包含有关文档使用标记PDF的信息 约定(见第10.6节“逻辑结构”)。
但是,即使将此属性的值设置为TRUE,也不意味着标记实际上就在那里,如果它们存在,它们对于提取表可能根本没用。您仍然可以找到包含表格的PDF文件,这些表格仅用于标记段落和图片。
长话短说,除非你正在生成应用程序将要使用的文件,以便您可以知道要查找的标记,它是不 a最好依靠这些标签来“从PDF中提取表格”。
答案 1 :(得分:1)
我找到了对另一个问题的评论,似乎已经回答了这个问题。
How to read a Table in a PDF using iText java?
您可以从内容流中提取文本,但对于普通PDF,结果将是纯文本(没有任何结构)。如果页面上有表格,则该表格不会被识别。您将获得内容和一些空白区域,但这不是表格结构!只有拥有标记的PDF,才能获得XML文件。如果PDF包含被识别为表格标签的标签,则这将反映在PDF中。