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