![背景](https://linux22.com/image/341868/%E8%83%8C%E6%99%AF.png)
当使用例如 pdflatex 生成包含许多嵌入图形(pdf、png、jpg 等)的 LaTeX 文档时,我经常遇到专业打印机无法打印文档的问题。
通常情况下,他们能够在 Adobe Reader 中正常打开 PDF,但尝试从 Adobe Reader (Pro) 打印时会遇到错误,尽管我在家中使用 Evince 和 Acrobat Reader DC 打印时没有遇到任何问题。由于我自己无法使用 Adobe Pro 工具,因此调试生成的 PDF(将其来回发送到打印机)可能是一个漫长而繁琐的过程。
有什么方法可以验证我的 PDF 是否可以供 Adobe 软件打印?
我应该根据哪种 PDF 标准进行验证,PDF/X 还是 PDF/A,以及哪个版本?
如果我的 PDF 无效,我能否获得一份详细的报告,最好带有页码,以指出哪些地方需要改进?我找到了 Apache 预检工具,但它给出了很多问题,我不知道其中哪些是重要的。Apache 预检仅验证 PDF/A。
pdflatex 通常是否应生成有效的 pdf,或者它不打算符合要求?制作符合要求的 pdf 的程序是什么?
从 Apache 预检中我得到了如下几行:
5.2.2 : Forbidden field in an annotation definition, Flags of Link annotation are invalid on page 2
2.4.2 : Invalid Color space, The operator "k" can't be used with RGB Profile on page 2
2.4.2 : Invalid Color space, The operator "K" can't be used with RGB Profile on page 2
5.2.2 : Forbidden field in an annotation definition, Flags of Link annotation are invalid on page 3
7.1 : Error on MetaData, Cannot understand PI data part : 'begin='?'?' in 'begin='?'? id='W5M0MpCehiHzreSzNTczkc9d' '
(一份 18 页的文档中大约有 800 行这样的内容)
更新:将 texlive 安装更新到最新的 2015 版本后,我能够生成有效的 pdf-a,即上述警告消失了。
我想添加 MWE,但由于我无法在没有专业打印机的情况下检查 Adobe Distiller 的打印是否失败,因此我无法提供良好的测试用例。我的理论是,我添加了带有渐变和/或透明度的图像,这是不允许的。
背景
我已经发现这tex.SE 问题表明 pdfx 是可行的方法,但我确实需要为 Adobe Pro 套件付费才能确保我的 pdf 可以打印。
我还得出结论,故障很可能源自一些包含的 pdf。我仍然需要想办法获取有关有问题文件的警告。
Apache 预检工具似乎仅验证 pdf-a 而不验证 pdf-x,因此在这里实用性有限。
更新:我意识到我原来的表述不必要地强调了 Distiller。我已做出更改,以反映我无法从任何 Adobe Pro 工具打印由 pdflatex 生成的 pdf。
答案1
Adobe Distiller(我有)可以设置为以不同的方式处理文件。如果最终目的是商业印刷,Distiller 很可能设置为根据 PDF/X-1a:2001 标准进行处理。我发现 Distiller 很少有用。
该标准的限制包括:文件必须是“平面的”(不透明);不能包含书签等活动内容;必须指定打印机输出意图(或在提取时添加),颜色必须是 CMYK。字体必须嵌入(子集),但这是常见的情况。
在某些情况下,Distiller 可以修复您的文件。在其他情况下,特别是如果您包含 RGB 图像,它无法做到这一点。如果使用的标准比 PDF/X-1a 更先进,那么您的文件被修复的可能性就更大。
Adobe Acrobat Pro(我拥有)具有可让您直接识别差异(在大多数情况下)的功能。这包括扁平化和针对标准打印机输出意图的 RGB 到 CMYK 转换。
在 LaTeX 中,有一个 `pdfx' 包对某些文件有用,但仅限于某些文件。截至我撰写本文时,该包尚未明确说明尺寸。它仍在开发中。请注意,pdfLaTeX 和 LuaTeX(但不是 XeTeX)可以创建完全符合 PDF/X 标准的文件,并附带所有附加功能。我已经测试过。但这并不明显。
对于打印(打印到纸上),您需要 PDF/X。PDF/A 标准适用于计算机文件(电子书)而不是打印。不过,如果文件是 PDF/A 并且没有超链接等活动内容,那么它很可能与 PDF/X 非常接近。与此同时,我建议您使用 PDF 1.3 或最多 1.4 编译 TeX 文档。如果不包含彩色图像,这应该足够了,即使这样,对于某些打印机来说也是可以的。
商业打印机拒绝在家用喷墨打印机上打印效果良好的文件的原因是,商业服务习惯于违反颜色标准,而喷墨打印机并不关心。
答案2
您的“专业”打印机不应使用 Distiller,而应使用预检工具(如果他们真的使用 Distiller,则他们不是专业人士)。这些工具将报告任何错误(这些错误通常包含在随附的 PDF 中),甚至可能能够修复这些错误。