我正在尝试添加一个具有透明渐变的 pdf使用 macports 安装的 texlive 中的 pdflatex。使用 article 类(不是standalone
),使用 Preview.app (以及其他查看器) 打开时,所包含的 PDF 的透明度会消失。是的,使用 Acrobat 或 Chrome 查看时会消失,但我无法强迫读者使用这些查看器。
当我通过 ghostscript 过滤我的 pdf 时我也注意到了这个问题。
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=output_gs.pdf white2green1.7.pdf
因此,虽然原始文件白色2绿色1.7.pdf在 Preview.app 等中正确显示透明度,但新文件 output_gs.pdf 却不能。
我的 pdf是pdflatex
通过 ghostscript 运行的吗?有什么办法可以避免这种情况吗?
我尝试将包含的图形的 PDF 版本降低到 1.4。我对诉诸栅格化或扁平化透明度的做法也不满意。
作为参考,我正在编译的文本是:
\documentclass{article}
% these two lines don't change the result
\pdfpageattr {/Group << /S /Transparency /I true /CS /DeviceRGB>>}
\pdfoptionpdfminorversion 7
\usepackage{graphicx}
\begin{document}
\begin{figure}
\includegraphics[width=\linewidth]{{{white2green1.7}}}
\end{figure}
\end{document}
答案1
当包含具有透明度或渐变等功能的 pdf 时,您应该确保 pdflatex 创建的 pdf 版本与具有最高版本的文件的版本相匹配。在这种情况下,您应该尝试确保 latex 创建的 pdf 1.7 文档而不是默认的(1.4 或 1.5)这是通过在序言中添加以下行来完成的:
\pdfoptionpdfminorversion 7
此外,pdflatex 不会将透明度属性添加到 pdf 标题中。这可能会导致某些页面上的字体在某些查看器(包括 Adobe Reader)中显示效果不佳。修复方法是在该\documentclass{}
行之前添加以下行。
\pdfpageattr {/Group << /S /Transparency /I true /CS /DeviceRGB>>}