我必须将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中遇到问题。它们是锯齿状的。知道如何修复它吗?
答案 0 :(得分:0)
正如大卫所说,除非你绝对必须这样做,否则不要这样做,多次转换是一个非常糟糕的主意。 任何转换(与某些PDF工具执行的简单操作相反,例如提取或插入页面)都可能导致保真度降低。
那就是说,你看到的结果不应该发生。然而正如大卫所暗示的那样,我们需要看到一个示例文件才能说出更多内容。您还应该说明您正在使用的操作系统(在这种情况下显然是Windows,但并不总是很明显)以及您正在使用的Ghostscript版本。
如果您使用的是最新版本的Ghostscript(如果不是,那么您应该获得最新版本),您可以使用开关-dNoOutputFonts,它将完全按照它所说的做。输入中的字体将在输出中绘制为矢量形状,而不是字体。请注意,这会增加输出的文件大小,可能非常显着。
通过这种方式,您可以使用单步,PDF输入到PDF输出。但请在9.19版Ghostscript中的ghostpdl / doc / VectorDevices.htm中阅读(并理解其含义)概述部分。