pdflatex 生成损坏的 PDF

pdflatex 生成损坏的 PDF

我有以下最小示例(jrnl.tex):

\documentclass[journal]{IEEETran}
\ifCLASSINFOpdf
  \usepackage[pdftex]{graphicx}
  \graphicspath{{pdf/}{jpeg/}{png/}}
  \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
\else
  \usepackage[dvips]{graphicx}
  \graphicspath{{../eps/}}
  \DeclareGraphicsExtensions{.eps}
\fi
\ifCLASSOPTIONcompsoc
  \usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\else
  \usepackage[caption=false,font=footnotesize]{subfig}
\fi

\begin{document}
\begin{figure}
    \centering
    \subfigure[]{\includegraphics[width=0.8\linewidth]{fig1-a.png}}
    \vfill
    \subfigure[]{\includegraphics[width=0.8\linewidth]{fig1-b.pdf}}
    \vfill
    \subfigure[]{\includegraphics[width=0.8\linewidth]{fig1-c.png}}
    \caption{...}
    \label{fig2}
\end{figure}
\end{document}

pdflatex jrnl.tex 生成的 jrnl.pdf 无法在 Acrobat Reader X (Windows 7) 中查看,错误信息为“文档已损坏,无法修复”。

PowerPoint2016生成的fig1-b.pdf似乎引发了问题,因为我可以将fig1-b.pdf替换为fig1-b.png,jrnl.pdf可以成功查看。其他非PPT的pdf文件也可以使用。

为什么会这样?我们能做些什么呢?

答案1

我已经解决了这个问题。

该问题是由 PowerPoint PDF 生成器引起的。Latex 似乎不支持 PPT 生成的 pdf。

当我使用 Acrobat 从 PPT 生成 PDF 时,它可以工作。

感谢@Jose、@Henri,尤其是@KJO。

答案2

这是 Adob​​e Reader 的已知问题。您可以修复它:

https://helpx.adobe.com/acrobat/kb/pdf-error-1015-11001-update.html

Adobe 表示:

“...(Adobe Reader)10.1.5 和 11.0.01 更新通过强制更严格地解析 PDF 标头来提高安全性。该产品现在拒绝打开一小部分未正确以“%PDF-”标头开头的 PDF,并会出现错误。”

相关内容