PDF itext TOC生成

PDF itext TOC生成,pdf,itext,tableofcontents,Pdf,Itext,Tableofcontents,我必须将多个PDF文档合并为一个PDF文档。除此之外,我还必须生成TOC。原始文档将包含具有特定样式(如H1)的文本。此特殊文本成为TOC的一部分 已使用iText合并多个PDF文件。我无法找到解析文档以查找所有具有样式H1的内容的示例/API。 生成TOC是下一个挑战 你没有。PDF没有样式。它们具有当前图形状态,包括: 电流变换矩阵。 笔划和填充颜色 剪切路径 字体和大小 其他文本状态的gobs字符间距、字间距、行距、文本呈现模式。。。 包括与CTM相结合的单独文本转换矩阵。 因此,首先你必

我必须将多个PDF文档合并为一个PDF文档。除此之外,我还必须生成TOC。原始文档将包含具有特定样式(如H1)的文本。此特殊文本成为TOC的一部分

已使用iText合并多个PDF文件。我无法找到解析文档以查找所有具有样式H1的内容的示例/API。
生成TOC是下一个挑战

你没有。PDF没有样式。它们具有当前图形状态,包括:

电流变换矩阵。 笔划和填充颜色 剪切路径 字体和大小 其他文本状态的gobs字符间距、字间距、行距、文本呈现模式。。。 包括与CTM相结合的单独文本转换矩阵。 因此,首先你必须跟踪所有这些东西,iText可以为你做的大部分事情。然后,您必须确定H1文本有多大,并锁定屏幕大小为该大小的所有文本,同时考虑CTM、文本矩阵和字体大小,IIRC

为了让像你这样的人的生活更令人兴奋,你看到的文本完全可能不是文本。它可以是路径或位图。。。在这一点上,你需要OCR,我不认为你会得到太多的大小信息与OCR的方式


您需要编写一个TextRenderListener,确定给定文本段的最终大小,以及它是否是最后一段的一部分,并过滤掉所有太小的内容。然后,您将根据找到的文本构建TOC。

感谢Mark的回复。是否可以将PDF转换为DOCX,然后对DOCX进行解析,对于具有样式H1的文本,然后再次生成PDF。理论上的DOCX转换器遇到的问题与您相同。有一些像样的PDF->X转换器,但它们往往相当$$$。AcrobatPro可能会处理一些可以接受的事情。