![包含的图像弄乱了 pdf 但为什么呢?](https://linux22.com/image/271580/%E5%8C%85%E5%90%AB%E7%9A%84%E5%9B%BE%E5%83%8F%E5%BC%84%E4%B9%B1%E4%BA%86%20pdf%20%E4%BD%86%E4%B8%BA%E4%BB%80%E4%B9%88%E5%91%A2%EF%BC%9F.png)
由于某种原因,将工作色图图像通过 via 添加到新文档中\includegraphics
似乎会修改图像。有没有什么办法可以解决这个问题?
我的 MWE 看起来无害:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\includegraphics{colormap.pdf}
\end{document}
Colormap.pdf 由以下代码创建这个问题并且在正确的版本中看起来非常丰富多彩:
但在示例文档中,输出如下:
由于该问题很可能与包含的 pdf 文件有关,因此这里有一个链接:色彩图.pdf。由此产生的损坏文档链接如下:包括_颜色图.pdf
更新: 当我想进一步使用生成的 PDF 文档时,ImageMagick 会抱怨:
Error reading a content stream. The page may be incomplete.
Warning: Form stream has unbalanced q/Q operators (too many q's)
File did not complete the page properly and may be damaged.
This file had errors that were repaired or ignored.
The file was produced by:
>>>> LuaTeX-0.76.0 <<<<
Please notify the author of the software that produced this
file that it does not conform to Adobe's published PDF
specification.
这一切都发生在 Windows 上使用 MiKTex 2.9 的当前 LuaTeX(版本 beta-0.76.0-2013062419(rev 4627))
答案1
由于包含的图形文件colormap.pdf
是正确的,所以这是 lualatex 中的一个错误。
我可以追踪它:显然,lualatex
它弄乱了decode
阴影的参数。
如果您使用文本编辑器,请打开include_colormap.pdf
并在下面进行文本替换
27 0 obj
通过替换
/Decode[--2147.16352 16384 --2147.16352 16384 0 1]
经过
/Decode[-16383.99992 16384 -16383.99992 16384 0 1]
生成的图形完全正确:可以查看,并且 imagemagick 不再抱怨。
这是 lualatex 中的一个错误;我不知道为什么它/Decode
在这种情况下修改了该字段。
上述解决方案将是一种有效的解决方法;这些阴影始终具有相同的decode
数组。换句话说:您可以编写一些脚本来应用搜索和替换,直到 lualatex 得到修复。如果您仅在上下文中应用替换,那么您 /ShadingType 6
将处于安全的一面:我不认为许多程序会生成这样的阴影。
旁注:如果您在 pdf 文件中应用搜索和替换,则必须保持字节数不变。