当 ColorConversionStrategy 设置为 sRGB 时,GhostScript 会删除图像
我们有很多可打印的 PDF,我们希望将其缩小到适合在线下载的较小尺寸。 我像这样使用 Ghostscript:
"C:\Program Files\gs\gs8.64\bin\gswin32c.exe" ^
-q ^
-dNOPAUSE ^
-dBATCH ^
-dSAFER ^
-dPDFSETTINGS=/screen ^
-sDEVICE=pdfwrite ^
-sOutputFile="c:\gs_out.pdf"
-f "c:\6916_DE.pdf"
问题是 Ghostscript 无法转换一张图像,因此当我打开生成的 PDF 时,Adobe Reader 会警告我文件中可能存在错误。 如果我将 PDFSETTINGS 参数更改为 /print
输出可以工作,但文件大小不会减小。
我已阅读 ps2pdf
的帮助文件,并找到了一个关键参数,ColorConversionStrategy
。 当 ColorConversionStrategy
设置为 sRGB
时,图像将被删除,当设置为 UseDeviceIndependentColor
时,这是 /print< 的默认设置/code> 设置后,图像仍然存在,但文件大小没有减小。
图像是透明的,因此这也可能是因素之一。
有人有什么想法吗?
we have a lot of print ready PDFs that we want to downsample to a smaller size that are suitable for online downloads. I am using Ghostscript like this:
"C:\Program Files\gs\gs8.64\bin\gswin32c.exe" ^
-q ^
-dNOPAUSE ^
-dBATCH ^
-dSAFER ^
-dPDFSETTINGS=/screen ^
-sDEVICE=pdfwrite ^
-sOutputFile="c:\gs_out.pdf"
-f "c:\6916_DE.pdf"
The problem is that Ghostscript is failing to convert one image so when I am opening the resulting PDF Adobe Reader warns me about a possible error in the file. If i change the PDFSETTINGS parameter to /print
the output works but the filesize is not reduced.
I have read the help file for ps2pdf
and I have found one critical parameter, ColorConversionStrategy
. When ColorConversionStrategy
is set to sRGB
the image will be removed, when set to UseDeviceIndependentColor
, which is the default for the /print
setting, the image is still there but the file size is not reduced.
The image is transparent so that might be one factor as well.
Anyone got any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,我建议您将 Ghostscript 更新到最新版本,即 v8。 71.。 自 8.64(您似乎正在使用)以来,许多有关 PDF 处理的问题已得到修复。
第二,如果您在命令行上使用
-dPDFSETTINGS=/screen
,这也会隐式设置:-dColorConversionStrategy=/sRGB
和-dColorImageResolution=72
。但
-dPDFSETTINGS=/printer
隐式使用:-dColorConversionStrategy=/UseDeviceIndependentColor
以及-dColorImageResolution=300
。如果您的主要目标是减小图像大小,请尝试以下操作:
继续使用
/screen
(因此您暗示-dColorImageResolution=72
)。但是,两个
-c
参数将覆盖其他两个隐含的/screen
设置。 这可能会解决你的问题。First, I would suggest you update your Ghostscript to the latest version, which is v8.71. A lot of problems regarding PDF processing have been fixed since 8.64 (which you seem to use).
Second, if you use
-dPDFSETTINGS=/screen
on your commandline, this will implicitly also set:-dColorConversionStrategy=/sRGB
and-dColorImageResolution=72
.But
-dPDFSETTINGS=/printer
implicitely uses:-dColorConversionStrategy=/UseDeviceIndependentColor
as well as-dColorImageResolution=300
.If your main goal is to reduce the image size, try this:
You continue to use
/screen
(and therefor you imply-dColorImageResolution=72
).However the two
-c
parameters will override two other implied/screen
settings. This could possibly overcome your problem.