【问题标题】:Ghostscript: Font issue during conversion PDF -> PS -> PDFGhostscript:转换 PDF -> PS -> PDF 时出现字体问题
【发布时间】:2016-07-13 07:52:33
【问题描述】:

我必须将 PDF 中的字体转换为曲线(原始 PDF 由 JasperReport 生成)。我发现它可以通过转换为 PostScript 而不是返回 PDF 来使用 Ghostscript 完成。我正在使用以下命令:

转换为 PostScript:

gswin32c.exe -dNoOutputFonts -dNOCACHE -sDEVICE=eps2write -sOutputFile=output.ps -f original.pdf

转换为 PDF:

gswin32c.exe -dNoOutputFonts -dNOCACHE -sDEVICE=pdfwrite  -sOutputFile=output.pdf -f output.ps

现在我在带有字体的输出 PDF 中遇到问题。他们是锯齿状的。知道如何解决吗?

示例(Calibri 字体):

【问题讨论】:

  • 首先,路径 PDF -> PS -> PDF 也称为 refrying PDF files,应该避免作为通用解决方案,因为它可能会破坏 PDF 文件中的许多其他内容(或在最少使它们恶化)。为什么需要这样做?您能否提供一个示例原始文件和转换后的文件?

标签: pdf fonts ghostscript


【解决方案1】:

正如大卫所说,除非万不得已,否则不要这样做,多次转换是一个非常糟糕的主意。 任何转换(与某些 PDF 工具执行的那种简单操作相反,例如提取或插入页面)都可能导致保真度降低。

也就是说,您看到的结果不应该发生。然而正如大卫也暗示的那样,我们需要查看一个示例文件才能说更多。您还应该说明您正在使用的操作系统(在这种情况下显然是 Windows,但并不总是很明显)以及您正在使用的 Ghostscript 版本。

如果您使用的是最新版本的 Ghostscript(如果您不是,那么您应该获得最新版本),您可以使用开关 -dNoOutputFonts,它几乎可以实现它所说的功能。输入中的字体将在输出中绘制为矢量形状,而不是字体。请注意,这会增加输出的文件大小,可能会非常显着。

这样您就可以使用一个步骤,从 PDF 输入到 PDF 输出。但是,请务必阅读(并理解其含义) Ghostscript 9.19 版本中 ghostpdl/doc/VectorDevices.htm 中的概述部分。

【讨论】:

    猜你喜欢
    • 2016-05-09
    • 2011-03-23
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    相关资源
    最近更新 更多