从 xdvipdfmx 输出中删除 ICC

从 xdvipdfmx 输出中删除 ICC

我正在尝试生成没有嵌入 ICC 颜色配置文件的 PDF(我正在使用的打印机的要求)。但是,当 xelatex 运行并最终调用 xdvipdfmx 生成 PDF 时,默认情况下会嵌入 RGB ICC 颜色配置文件。我似乎无法弄清楚如何防止这种情况发生。有没有办法可以修改该过程,使其不会嵌入?谢谢!

答案1

有两个相关问题。我只能回答其中一个。这不是你问的问题,但与你问的问题非常相关,值得讨论。

如果 PDF 包含任何图像,则其中一个或多个图像可能嵌入了其自己的 *.icc 颜色配置文件。这在 PDF 中是允许的,甚至在 PDF/X 的某些版本中也是如此。但在最老版本的 PDF/X 中是不允许的,这些版本通常由商业按需印刷服务使用。

为了确保每幅图像都没有嵌入颜色配置文件,您可以使用 ImageMagick 或 GraphicsMagick 来删除它们。对于 GraphicsMagick,通常可以使用以下方法:

gm mogrify -strip yourimage.png  (or .jpg)

还有其他注意事项,这里就不详细讨论了。请注意,jpg 图像将被重新压缩,这可能会损失一些清晰度。

如果您的图像是 RGB,但打印机需要 CMYK,那就是另一个问题了。您必须在图形程序中转换颜色空间。命令行说明可以在“novel”包的 HTML 文档中找到,但不需要您使用该包。

现在回到你最初的问题:整个 PDF 可能都附有自己的颜色配置文件,但这很少是必要的,而且许多打印机都反对这样做。可以使用专业软件或十六进制编辑器(如果你知道如何操作的话)删除嵌入的配置文件(小心!)。在 LaTeX 中准备 PDF/X 的一些方法允许你选择是否嵌入颜色配置文件,但我对 XeLaTeX 和 xdvipdfmx 一无所知。如果你的文档可以使用 LuaLaTeX 编译,那么使用该\pdfx软件包你可能会有更多选择。

答案2

最近,我在一封简短的商业信函中插入了一个简单的 PDF 徽标,结果遇到了这个问题\includegraphics。结果发现,该徽标嵌入了一个超过 800 KB 大小的 ICC 配置文件,不必要地增加了我的信件大小。

我希望有某种方法可以自动从 LaTeX 中删除 ICC 配置文件,但这个 Stack Exchange 问题是我能找到的唯一相关材料。不幸的是,使用 ImageMagick 从包含的 PDF 中删除配置文件,如上一个答案,效果不佳;该mogrify命令获取 PDF,将其转换为低分辨率位图,然后无损地将该位图嵌入到新的 PDF 中。

前面的答案还提到,可以使用“专业软件”或“十六进制编辑器”从 PDF 中删除 ICC 配置文件,但这两种解决方案似乎都不太方便。我怀疑命令行 PDF 编辑器定量PDF,与一些 shell 脚本一起,可用于自动删除 ICC 配置文件,但经过大约一个小时的实验后,我无法使其工作。

放弃了全自动解决方案后,我发现矢量图形编辑器Inkscape可用于以交互方式从 PDF 中删除 ICC 配置文件。以下是在 GNU/Linux 上使用 Inkscape 1.3.2 的步骤:

  1. 在 Inkscape 中打开 PDF。
  2. 打开文档属性对话框(按Ctrl+ Shift+D或从下拉菜单中选择文件 → 文档属性)。
  3. 激活“颜色”选项卡。您将看到“链接颜色配置文件”列表中列出的颜色配置文件。
  4. 右键单击颜色配置文件,然后从出现的上下文菜单中选择“删除”。
  5. 关闭文档属性对话框。
  6. 保存 PDF(按Ctrl+S或从下拉菜单中选择文件 → 保存)。

如果其他人想出一个完全可编写脚本的解决方案自由的命令行工具,请将其作为另一个答案发布在这里。

相关内容