【问题标题】:Itextsharp pdf parsingItextsharp pdf解析
【发布时间】:2015-03-03 17:34:17
【问题描述】:

为什么解析PDF文件需要字体[FontName.afm]文件,而itextsharp可以解析所有的PDF?

例如 PDF 文件包含字体是新的文本,所以我的问题是它可以在不提供 [FontName].afm 文件的情况下从 PDF 文件中解析该文本

【问题讨论】:

  • 为什么需要字体 [FontName.afm] 文件来解析 PDF 文件 - afm 文件包含字体度量,并且在提取过程中至少需要字体字形宽度才能获得以正确的顺序排列字形。但是 PDF 文件包含除标准 14 种字体之外的字体的字体宽度,并且这些字体的度量包含在 iText(Sharp) 库中。因此,I Text(Sharp) 不需要额外的 afm 文件来提取文本。

标签: itextsharp itext


【解决方案1】:

这个问题是在 SO 和 iText 邮件列表上交叉发布的。我正在将我的答案复制到 SO 上的邮件列表:

为什么在 itextsharp 库中需要字体文件 [FontName.afm]

这些文件包含字体规格(AFM = Adob​​e Font Metrics)。需要它们来计算文本的 sn-ps 尺寸(高度、宽度)。 iTextSharp 附带的 14 个 AFM 文件对应于 14 种 Standard Type 1 字体。这些是任何 PDF 查看器都应该能够呈现的字体,因此无需嵌入这些字体(除非需要字体嵌入,例如在 PDF/A 的上下文中)。

请下载免费电子书"The Best iText Questions on StackOverflow" 并阅读有关字体部分中问题的答案以获取更多信息。

另见:

如果没有这些字体文件,我们可以从 PDF 文件中提取文本吗?对于新引入的字体,itextsharp 是否可以用于从 PDF 中提取文本?

您不需要 AFM 文件来提取文本,因为您需要的大部分信息(例如文档中使用的每个字形的宽度)都存储在文档中。 iTextSharp 对于从 PDF 中提取文本很有用,但有时通常无法提取文本(无论您使用哪种工具)。如需更详细的解释,请观看此视频:https://www.youtube.com/watch?v=wxGEEv7ibHE

另见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 2012-08-20
    • 2019-07-25
    • 1970-01-01
    相关资源
    最近更新 更多