我在用 pdflatex 加载一些图像时遇到了以下错误。这些图像位于 pdf 文件中。MWE
\documentclass[10pt,notitlepage]{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{image}
\end{document}
pdflatex foo.tex
给出
(/usr/local/texlive/2015/texmf-dist/tex/generic/oberdiek/etexcmds.sty)))
(/usr/local/texlive/2015/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
! Dimension too large.
<argument> \ht \@tempboxa
l.7 ...,height=\textheight,keepaspectratio]{image}
?
image.pdf 是这样的关联
无论是否指定图像尺寸,错误仍然会出现。即\includegraphics[]{image}
也会产生错误。
图像 PDF 文件中没有任何内容。这是另一个问题。此图像 PDF 文件由 Mathematica Export 命令创建。我正在将 Mathematica 图像导出为 PDF,但看起来 Mathematica 无法将图像导出为 PDF 文件,因此它写了一个空的图像 pdf 文件。但是问题是pdflatex为什么会报错呢?
pdf 图像文件或尺寸的大小是否存在内存限制或内置限制?
我在 Linux Mint 7.2 上使用 TL 2015
附言:这里是pdf 图像文件示例pdflatex 可以正确读取。它没有那么大(而且碰巧也不是空的)。
更新:
仅供参考,感谢我在另一个问题中对 cfr 的评论如何在调用“\includegraphics”之前检查图像是否具有有效尺寸?,使用pdfinfo -box image.pdf
给出
>pdfinfo -box image.pdf
Creator: Wolfram Mathematica 10.1.0.0 for Microsoft Windows (64-bit) (March 23, 2015) Student Edition - Personal Use Only
Producer:
CreationDate: Tue Jul 21 13:15:48 2015
ModDate: Tue Jul 21 13:15:48 2015
Tagged: no
Form: none
Pages: 1
Encrypted: no
Page size: 504 x 18988 pts
Page rot: 0
MediaBox: 0.00 0.00 504.00 18988.00
CropBox: 0.00 0.00 504.00 18988.00
BleedBox: 0.00 0.00 504.00 18988.00
TrimBox: 0.00 0.00 504.00 18988.00
ArtBox: 0.00 0.00 504.00 18988.00
File size: 337034 bytes
Optimized: no
PDF version: 1.5
>
答案1
图形尺寸有限制,上限为\maxdimen
(16384pt
);就图像高度而言,我测试的一些图像的限制约为574cm
。576cm
例如,
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[height=576cm,width=2cm]{example-image-a}
\end{document}
触发错误消息,但使用 575 没有错误(只是关于过满的明显警告\vbox
)
您的图像几乎670cm
很高!(明显高于\maxdimen
),因此触发了错误。除此之外,如果将这么大的图像压缩到适合 A4 纸文档的大小,您会怎么做?
答案2
如果图像具有合理的尺寸,但已声明,也可能会发生这种情况不正确的 DPI设置(例如 800x600 像素的图像,但设置 2x2 DPI...这使其宽度为 1000 厘米)。
您可以在图像编辑器中校正 DPI(如果它不是 PDF 文件),它应该可以正常工作。
答案3
另一个似乎会导致此问题的问题是图像是否采用 CMYK 颜色空间(即使尺寸低于最大限制)。要解决此问题,您可以使用 Photoshop 或其他图像编辑工具将其重新保存为 RGB 图像,或者使用众多在线转换器之一直接进行转换,例如http://www.cmykconverter.com/
这发生在 Overleaf 平台上的 XeLateX 上。