0

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

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

4

1 回答 1

0

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

  • 电流变换矩阵(CTM)。
  • 描边和填充颜色
  • 剪切路径
  • 字体大小
  • 其他文本状态的东西(字符间距,字间距,前导,文本渲染模式......)
    • 包括一个单独的文本转换矩阵,它与 CTM 相结合。

所以首先你必须跟踪所有这些东西(iText 主要可以为你做)。然后你必须确定“H1”文本有多大,并锁定在该尺寸屏幕尺寸中的所有文本,同时考虑 CTM、文本矩阵和字体大小(iText 将再次为你做,IIRC )。

为了让像您这样的人的生活更精彩,您正在查看的文本完全有可能根本不是文本。它可能是路径或位图......此时您需要 OCR,而且我认为您不会在使用 OCR 的大小信息方面获得太多信息。

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

于 2011-04-15T00:13:50.563 回答