【问题标题】:Converting PDF without any images to CMYK将没有任何图像的 PDF 转换为 CMYK
【发布时间】:2016-07-19 15:08:10
【问题描述】:

我阅读了 this post 关于如何将 PDF 转换为 CMYK 的信息,但是当我尝试接受的解决方案时

gs \
    -o test-cmyk.pdf \
    -sDEVICE=pdfwrite \
    -sProcessColorModel=DeviceCMYK \
    -sColorConversionStrategy=CMYK \
    -sColorConversionStrategyForImages=CMYK \
    test.pdf

如果我的原始 pdf 不包含图像,我不会获得具有 CMYK 颜色空间的 pdf。如果我向其中添加图像,我会得到正确的结果(使用 identify 检查)。

例如,如果我用inskcape 创建一个带有一个矩形的svg,将其导出为pdf,然后使用ghostscript 命令,它仍然会得到一个sRBG 颜色空间的pdf。但是,如果我在我的 svg 中添加一个图像,它就可以正常工作。

gs 中处理该问题的正确选项是什么?我的版本是 9.19。


编辑:KenS 发现问题:identify 的报告是错误的。所以我添加了我安装的 ImageMagick 版本号:6.9.3。

【问题讨论】:

    标签: linux pdf ghostscript cmyk


    【解决方案1】:

    如果您使用的是最新版本的 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
    

    这样可以保存图形状态,在 x 和 y 中将 CTM 乘以 0.1,设置特定的图形状态,将颜色设置为 0.722、0.675、0.671、0.882 CMYK,创建一个矩形,用当前颜色填充它,然后恢复图形状态。

    因此生成的 PDF 文件将所有颜色定义为 CMYK 值。

    也许你的问题是 identify 而不是 Ghostscript。

    【讨论】:

    • 感谢您提供有关无用选项的提示,但它并没有解决我的问题。我已经为我的 ghostscript 安装添加了版本号。
    • 还有一个演示问题的示例文件?
    • 这是一个pdf,在用一个矩形创建了一个svg后,用inkscape -A生成。
    • 多种方式。在这种特殊情况下,我使用了 MuPDF。如果您设置 -dCOmpressPages=false -dCompressFonts=false,您还可以让 pdfwrite 设备写入未压缩的流
    • 我试过mutool show test.pdfgs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCOmpressPages=false -dCompressFonts=false -sOutputFile=uncompressed.pdf test.pdf,但都没有成功。
    猜你喜欢
    • 2011-09-09
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多