Adobe Reader XI 报告 pdfTeX 编译组合 beamer + overlay + textblock + includgraphics 的 PDF 损坏

Adobe Reader XI 报告 pdfTeX 编译组合 beamer + overlay + textblock + includgraphics 的 PDF 损坏

以下 M(N)WE 使用 latexmk 使用 pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016) (Debian) 编译。

\documentclass{beamer}
\usepackage[absolute, overlay]{textpos}
\begin{document}
\begin{frame}{M(N)WE}
  \begin{textblock*}{8cm}[0,0](0.5\paperwidth, 0.5\paperheight)
    \only<1->{\includegraphics[height=1cm]{user.pdf}}
    \only<2->{\includegraphics[height=1cm]{multiuser.pdf}}
  \end{textblock*}
\end{frame}
\end{document}

生成的文档可以在 evince 中打开并显示所需的结果。但是,Windows 上的 Adob​​e Acrobat Reader XI 无法打开 PDF 并显示错误消息

打开文档时出错。文件已损坏,无法修复。

可以排除复制过程中造成的损坏,因为在 Chrome 等浏览器中打开 PDF 完全没问题。我尝试了不同的组合,以找出真正导致错误的组合。

  • 带图形的框架(\includegraphics{multiuser.pdf})有效!
  • 带覆盖和图形的框架(\only<2->{\includegraphics{multiuser.pdf}})有效
  • 带有文本块、覆盖和图形的框架(multiuser.pdf)起作用了!
  • 但是如果我添加 user.pdf,就会出现错误。
  • 如果我删除\only<2->{},它又可以再次工作。
  • 另外,如果我\includegraphics{multiuser.pdf}在文本块之前添加,MWE 就会起作用。
  • 如果我采用 MWE,但对两个 includegraphics 命令都使用 user.pdf,它就可以工作。
  • 最后,如果我在 Windows 上使用 MiKTeX 编译 MWE,它就可以工作了。

两幅图均使用 Inkscape 绘制,然后导出为 PDF 1.5。可下载这里

似乎我在这里遇到了一个非常特殊的条件,导致了错误。这里的目标只是让第 1 页上的 user.pdf 结束,让第 2 页上的 multiuser 结束在某个绝对位置,我很确定我找到了另一种方法。但是,我想知道我是否违反了导致不稳定行为的一般良好实践规则(如果有的话,我想避免其他某些组合带来进一步的麻烦)。

相关问题:问题如何使用 pdfLaTeX 文档克服 Acrobat Reader 错误 131?在 Linux 上使用 pdflatex 生成的 Beamer pdf 无法使用 Windows/Adobe Reader 打开(标记为前者的重复)推荐\pdfminorversion=4,然后生成一个PDF 1.4文档,可以用Adobe Reader打开。

相关内容