0

在我的项目中,我使用 GhostScript 将 pdf 文件转换为 png 图像。问题是它无法正确处理未嵌入pdf文件的字体,因此输出错误。使用 pdftoppm(一个 xpdf 工具)时,问题已得到解决。所以我想知道ghostscript和xpdf在转换阶段有什么区别?为什么 GhostScript 需要使用字体而 Xpdf 不需要?

4

1 回答 1

2

如果没有看到 PDF 文件,就无法确定,但我能想到三种可能性;

1) PDF 文件确实包含字体,并且由于某种原因 Ghostscript 无法找到或使用它。那将是一个错误,可能通过使用当前版本修复。如果这不能解决它,那么您应该提交一个错误报告。

2) 您的操作系统上有可用的字体,并且 xpdf 已被告知在哪里可以找到它。如果是这种情况,您几乎可以肯定地通过 FontConfig(在 Linux 上)或通过编辑 fontmap.GS 或 cidfmap 之一来为 Ghostscript 提供相同的信息,具体取决于字体的性质。

3) xpdf 也没有使用正确的字体,但碰巧的是,幸运的是,它用作替代的字体比 Ghostscript 用作替代的字体更接近原始字体。与上面的 2 一样,您可以更改 Ghostscript 使用的内容。

当然,这就是为什么所有 PDF 文件都应该嵌入它们使用的字体(至少作为子集),尤其是它们使用的所有 CIDFonts。

于 2019-11-06T08:35:32.617 回答