pdflatex 不使用 ghostscript 来保留所包含 pdf 的透明度

pdflatex 不使用 ghostscript 来保留所包含 pdf 的透明度

我正在尝试添加一个具有透明渐变的 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 标题中。这可能会导致某些页面上的字体在某些查看器(包括 Adob​​e Reader)中显示效果不佳。修复方法是在该\documentclass{}行之前添加以下行。

\pdfpageattr {/Group << /S /Transparency /I true /CS /DeviceRGB>>}

相关内容