如何使用iText库获取pdf文件的段落内容?

时间:2013-03-18 18:38:53

标签: java pdf itext extract

有没有办法使用iText库获取pdf文件中给定段落的段落数或内容?我在一些代码中看到了一些像Paragraph,Chunk这样的类来创建新的pdf文件,但是我找不到任何方法来在读取文件中获取这些类。每个想法都受到赞赏

1 个答案:

答案 0 :(得分:3)

PDF是否在谈论标记PDF?如果没有,您对PDF做出了错误的假设。在PDF中,内容在页面上绘制。例如:将iText PdfPTable转换为文本状态运算符,将文本片段绘制到画布,以及绘制路径和形状的图形状态运算符。如果未标记PDF,则行不知道它们是表的边界;一个单词不知道它属于哪个单元格。

段落也是如此:一段文字不知道它是属于一个句子,一个段落,一个标题行,......

由于PDF的本质,您正在寻找的东西可能是不可能的(使用iText或任何其他软件产品),或者可能需要启发式(人工智能)来检查所有文本状态运算符和内容的语义得到一个模仿人类如何解释文本的结果。

如果您的PDF标记正确,则很容易实现。请参阅ParseTaggedPdf示例。