我正在使用 pdflatex 生成 PDF 文档(更准确地说,是从 TexMaker 3.4 调用的 latexmk。我的 LaTeX 安装是 TeXLive 20120719)。我可以在 Okular 和 Gmail 的附件预览中正常阅读该文档,但在 Windows 上运行 Acrobat Reader 的同事报告:"There was a problem reading this document (131)"
。
编辑:使用 时错误消失\usepackage[demo]{graphicx}
,它会用黑框代替真实图像。它们都是 PDF、PNG 和 JPG。demo
我没有使用 ,而是添加了命令代码\demoincludegraphics
,当使用它替换标题中的徽标时,该命令会使文件在 Reader 中工作,如下所示。但启用它(使用\includegraphics
而不是\demoincludegraphics
)并删除其他所有内容在 Reader 中也可以工作!有一些奇怪的全局交互,当启用所有图形时,文件在 Reader 中看起来是损坏的......
我的代码编译得很好,所以我只附加了序言和最小工作示例的简单文本:
\documentclass[12pt,lettersize,twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish,es-tabla]{babel}
\usepackage[fixlanguage]{babelbib}
\usepackage{amssymb,amsmath}
\usepackage{graphicx}
\usepackage{array}
\usepackage{caption}
\usepackage{subfig}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{calc}
\usepackage{stfloats}
\usepackage{fixltx2e}
\usepackage{url}
\usepackage[colorlinks=true,linkcolor=blue,citecolor=red]{hyperref}
\usepackage[all]{hypcap}
% Margins
\usepackage[top=2cm, bottom=2cm, left=3cm, right=2cm]{geometry}
% Make header show up in the first page
\makeatletter
\renewcommand\maketitle{\par
\begingroup
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hb@[email protected]{%
\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
\if@twocolumn
\ifnum \col@number=\@ne
\@maketitle
\else
\twocolumn[\@maketitle]%
\fi
\else
\newpage
\global\@topnum\z@ % Prevents figures from going at top of page.
\@maketitle
\fi
\thispagestyle{fancy}\@thanks % was {empty}
\endgroup
\setcounter{footnote}{0}%
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@maketitle\relax
\global\let\@thanks\@empty
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\@title\@empty
\global\let\title\relax
\global\let\author\relax
\global\let\date\relax
\global\let\and\relax
}
\makeatother
% Remove date field in title; Remove preceding vertical space
\makeatletter
\renewcommand{\@maketitle}{
\vspace{-3cm}
\begin{center}%
{\LARGE \@title}\\
\vspace{2mm}%
{\@author}
\end{center}%
\par} \makeatother
\makeatletter
% Demo includegraphic boxes
\newcommand{\demoincludegraphics}[2][]{%
\setlength{\fboxsep}{-\fboxrule}% Remove frame separator/gap
\framebox{\rule{0pt}{100pt}\rule{150pt}{0pt}}% Framed box of 150pt x 100pt
}
% Headers Config
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\renewcommand{\headrulewidth}{0.4pt}
\setlength{\headheight}{2.2cm}
\addtolength{\textheight}{-1.62cm}
\fancyhead[LO,RE]{\demoincludegraphics[height=1.6cm]{logo-slogan}}
\fancyhead[LE,RO]{}
% Footers Config
\fancyfoot{}
\renewcommand{\footrulewidth}{0pt}
\fancyfoot[C]{\thepage}
% Notas al pie etiquetadas por simbolos
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\title{Doc Title}
\author{My name}
\begin{document}
\maketitle
This is a test. It includes graphics and other floats.
\end{document}
编辑:我找到了一个解决方法:通过Ghostscript处理生成的pdf文件,如下:
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf
其中input.pdf
,pdfLaTeX 生成的文件是output.pdf
Adobe Reader 和其他 PDF 阅读器可以读取的文件。
答案1
我通过使用 pdflatex 生成 PDF 1.4 解决了类似的问题\pdfminorversion=4
。我的 latex 文档中也只使用 png 和 1.4 pdf 图像。以前使用 evince 时也可以,但现在 acroread 也可以很好地读取文件,并且保持相同的质量水平。ghostscript 解决方法将我的图像重新采样为 jpeg,这降低了质量。
答案2
作为一种解决方法,您也可以使用 pdftk 解压缩/压缩方法:
pdftk original.pdf output uncompressed-original.pdf uncompress
和
pdftk uncompressed-original.pdf output original2.pdf compress
除了 Linux 软件包之外,pdftk还有Windows和OS X版本。
答案3
就我而言,是 png 文件导致了问题。将其转换为 pdf 解决了该问题。
convert faulty.png faulty.pdf