将没有任何图像的 PDF 转换为 CMYK
Converting PDF without any images to CMYK
我阅读了 this post 关于如何将 PDF 转换为 CMYK 的内容,但是当我尝试接受的解决方案时
gs \
-o test-cmyk.pdf \
-sDEVICE=pdfwrite \
-sProcessColorModel=DeviceCMYK \
-sColorConversionStrategy=CMYK \
-sColorConversionStrategyForImages=CMYK \
test.pdf
如果我的原始 pdf 不包含图像,我没有得到 CMYK 颜色的 pdf space。如果我向其中添加图像,我会得到正确的结果(使用 identify
检查)。
例如,如果我用 inskcape
创建一个带有一个矩形的 svg,将其导出为 pdf,然后使用 ghostscript 命令,它仍然会得到一个 sRBG 颜色 space 的 pdf。但是,如果我在我的 svg 中添加图像,它就可以正常工作。
gs
中解决该问题的正确选项是什么?我的版本是9.19.
编辑:KenS 发现问题:identify
的报告是错误的。所以我添加了我安装的 ImageMagick 版本号:6.9.3.
如果您使用的是最新版本的 Ghostscript,那么您既不需要 -sColorConversionStrategyForImages
(顺便说一句,这不是真正的 Ghostscript 控件),也不需要 -sProcessColorModel
。如果您使用的不是最新版本的 Ghostscript,请更新....
除此之外,由于您没有提供示例,也没有告诉我们您使用的是哪个版本的 GS,或者在哪个平台上,所以无法进一步说明。
[在提供文件后添加]
您的原始 PDF 文件包含此作为页面的内容流:
stream
q
0 0 0 rg /a0 gs
109.715 637.714 262.855 -260.57 re f
Q
endstream
这样就保存了graphcis状态,设置颜色为0,0,0 RGB,设置alpha为1的特定图形状态,绘制一个矩形,用当前颜色填充,然后恢复图形状态。
然后我使用了这个命令行:
./gs -sDEVICE=pdfwrite -sOutputFile=CMYK.pdf -sColorConversionStrategy=CMYK test.pdf
生成的 PDF 文件将此作为页面内容流:
stream
q 0.1 0 0 0.1 0 0 cm
/R7 gs
0.722 0.675 0.671 0.882 k
1097.15 3771.44 2628.55 2605.7 re
f
Q
endstream
保存图形状态,CTM在x和y中乘以0.1,设置特定图形状态,设置颜色为0.722、0.675、0.671、0.882 CMYK,创建一个矩形,用当前颜色填充颜色和恢复图形状态。
因此生成的 PDF 文件将所有颜色定义为 CMYK 值。
也许您的问题是 identify
而不是 Ghostscript。
我阅读了 this post 关于如何将 PDF 转换为 CMYK 的内容,但是当我尝试接受的解决方案时
gs \
-o test-cmyk.pdf \
-sDEVICE=pdfwrite \
-sProcessColorModel=DeviceCMYK \
-sColorConversionStrategy=CMYK \
-sColorConversionStrategyForImages=CMYK \
test.pdf
如果我的原始 pdf 不包含图像,我没有得到 CMYK 颜色的 pdf space。如果我向其中添加图像,我会得到正确的结果(使用 identify
检查)。
例如,如果我用 inskcape
创建一个带有一个矩形的 svg,将其导出为 pdf,然后使用 ghostscript 命令,它仍然会得到一个 sRBG 颜色 space 的 pdf。但是,如果我在我的 svg 中添加图像,它就可以正常工作。
gs
中解决该问题的正确选项是什么?我的版本是9.19.
编辑:KenS 发现问题:identify
的报告是错误的。所以我添加了我安装的 ImageMagick 版本号:6.9.3.
如果您使用的是最新版本的 Ghostscript,那么您既不需要 -sColorConversionStrategyForImages
(顺便说一句,这不是真正的 Ghostscript 控件),也不需要 -sProcessColorModel
。如果您使用的不是最新版本的 Ghostscript,请更新....
除此之外,由于您没有提供示例,也没有告诉我们您使用的是哪个版本的 GS,或者在哪个平台上,所以无法进一步说明。
[在提供文件后添加]
您的原始 PDF 文件包含此作为页面的内容流:
stream
q
0 0 0 rg /a0 gs
109.715 637.714 262.855 -260.57 re f
Q
endstream
这样就保存了graphcis状态,设置颜色为0,0,0 RGB,设置alpha为1的特定图形状态,绘制一个矩形,用当前颜色填充,然后恢复图形状态。
然后我使用了这个命令行:
./gs -sDEVICE=pdfwrite -sOutputFile=CMYK.pdf -sColorConversionStrategy=CMYK test.pdf
生成的 PDF 文件将此作为页面内容流:
stream
q 0.1 0 0 0.1 0 0 cm
/R7 gs
0.722 0.675 0.671 0.882 k
1097.15 3771.44 2628.55 2605.7 re
f
Q
endstream
保存图形状态,CTM在x和y中乘以0.1,设置特定图形状态,设置颜色为0.722、0.675、0.671、0.882 CMYK,创建一个矩形,用当前颜色填充颜色和恢复图形状态。
因此生成的 PDF 文件将所有颜色定义为 CMYK 值。
也许您的问题是 identify
而不是 Ghostscript。