包含的图像弄乱了 pdf 但为什么呢?

包含的图像弄乱了 pdf 但为什么呢?

由于某种原因,将工作色图图像通过 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 文件中应用搜索和替换,则必须保持字节数不变。

相关内容