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

标签 java pdf itext extract

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

最佳答案

您所说的 PDF 是加标签的 PDF 吗?如果不是,那么您对 ​​PDF 的假设是错误的。在 PDF 中,内容绘制在页面上。例如:iText PdfPTable 被转换为文本状态运算符,将文本片段绘制到 Canvas ,以及图形状态运算符,绘制路径和形状。如果未标记 PDF,则线条不知道它们是表格的边框;单词不知道它属于哪个单元格。

段落也是如此:一段文本不知道它是否属于句子、段落、标题行......

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

如果您的 PDF 已正确标记,则很容易实现。查看ParseTaggedPdf示例。

关于java - 如何使用 iText 库获取 pdf 文件的给定段落内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15484354/

相关文章:

java - 我想了解 mongodb

java - 在步骤中实现 writer 时出现 Spring Batch : onWriteError in ItemWriteListener won't be reached on org. springframework.dao.DuplicateKeyException

java - 如何使用 iText PDF Java 库打开远程目录?

java - iText - 图像破坏单元格对齐

java - 使用 itext 4 编辑 pdf 中的现有超链接

java - 向 PDF 添加时间戳会损坏文件

java - 如何正确处理连接空闲超时错误

java - 包含 WebView 的 Intent

java - 当文件从本地计算机移动时,使用 PDFBox 生成的 PDF 中的图像消失

jquery - 导出带有单元格颜色的 jQuery 数据表数据