使用gostscript 9.21将文本转换为轮廓,以及如何保持图片的分辨率

时间:2017-09-07 07:25:48

标签: ghostscript

我使用gostscript将文本转换为轮廓,使用以下代码:gswin32c.exe -sDEVICE=pdfwrite -sOutputFile=output.pdf -dQUIET -dNOPAUSE -dBATCH -dNoOutputFonts -f test_new.pdf,它可以工作。但我得到一个非常小的输出文件,从2.5M到70kb。然后我发现图片在pdf中变得模糊。< / p>

添加-dPDFSETTINGS=/default,结果会相同。

我最好使用-dPDFSETTINGS=/printer or -dPDFSETTINGS=/prepress,但300dpi对我(或我的老板)来说还不够。

有没有办法保持图片的原始分辨率。

或者如何在输出pdf中为图像设置更高的dpi。

测试文件为here。 提前致谢。

1 个答案:

答案 0 :(得分:0)

您的问题的答案是“是”&#39; (但见后文)。不要使用PDFSETTINGS,一次性设置很多的东西。如果您想要控制,则需要单独指定每个设置。

您需要阅读文档,确定哪些控件会影响您想要更改的区域,而不是仅使用此霰弹枪方法。

然而,图像下采样不是您的问题。如果您不使用-dPDFSETTINGS,则Ghostscript编写的PDF文件包含的图像与原始文件中的图像完全相同。

您的问题是图像是使用JPEG压缩编写的,JPEG是有损压缩,因此您失去了保真度。请注意,在原始文件中,图像是未压缩的,这就是它如此之大的原因。

看起来原始图像是JPEG,并且您正在使用的免费PDF编辑器已经意识到它保存了未压缩的图像(我可能在这里给它太多的功劳,它可以保存所有未压缩的图像)。将JPEG应用于已经量化的图像只会放大人工制品。

相反,您需要指定您希望使用Flate压缩的图像,这是一种无损压缩。可以找到pdfwrite控件的文档here,您需要更改AutoFilterColorImages和ColorImageFilter。

请注意,通过不应用JPEG量化(第二次)和DCT编码,压缩率低于您的第一次体验。对我来说,输出文件只有600Kb以上(将字体保留在原位,文本作为文本,将减少几个Kb)。然而,正如预期的那样,图像是相同的。

由于您在商业环境中明显使用Ghostscript,我是否可以指向您的许可证并要求您检查您的使用是否与AGPL兼容,请记住这也包括软件作为服务使用。