Ghostscript:转换期间的字体问题PDF - > PS - > PDF

时间:2016-03-25 14:34:01

标签: pdf fonts ghostscript

我必须将PDF中的字体转换为曲线(原始PDF由JasperReport生成)。我发现可以通过转换为PostScript而不是使用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字体): Incorrect font example:

1 个答案:

答案 0 :(得分:0)

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

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

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

通过这种方式,您可以使用单步,PDF输入到PDF输出。但请在9.19版Ghostscript中的ghostpdl / doc / VectorDevices.htm中阅读(并理解其含义)概述部分。