我必须将多个 PDF 文档合并为一个 PDF 文档。除此之外,我还必须生成 TOC。原始文档将包含具有特定样式的文本(例如 H1)。此特殊文本成为 TOC 的一部分。
使用 iText 合并多个 PDF 文件。我无法找到解析文档以查找具有样式 H1 的所有内容的示例/API 。生成 TOC 是下一个挑战。
我必须将多个 PDF 文档合并为一个 PDF 文档。除此之外,我还必须生成 TOC。原始文档将包含具有特定样式的文本(例如 H1)。此特殊文本成为 TOC 的一部分。
使用 iText 合并多个 PDF 文件。我无法找到解析文档以查找具有样式 H1 的所有内容的示例/API 。生成 TOC 是下一个挑战。
你没有。PDF 没有样式。它们具有“当前图形状态”,其中包括:
所以首先你必须跟踪所有这些东西(iText 主要可以为你做)。然后你必须确定“H1”文本有多大,并锁定在该尺寸屏幕尺寸中的所有文本,同时考虑 CTM、文本矩阵和字体大小(iText 将再次为你做,IIRC )。
为了让像您这样的人的生活更精彩,您正在查看的文本完全有可能根本不是文本。它可能是路径或位图......此时您需要 OCR,而且我认为您不会在使用 OCR 的大小信息方面获得太多信息。
您需要编写一个TextRenderListener
来确定给定文本的最终大小(以及它是否是最后一段的一部分)并过滤掉所有太小的东西。然后,您将根据找到的文本构建您的 TOC。