在回答这个问题时Tikz:使用外部图像作为构建块。Stefan Kottwitz 说:
如果文档大小很重要、多次使用图形或者需要遮罩,则可能优先选择 pgf 方式。
何时会出现因多次包含同一张图片而导致文档大小过大的问题?对于 jpg 格式的随机照片,我使用以下测试文件获得以下结果:
\documentclass{article}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}
\newcount\n
\n=0
\loop\ifnum\n<100 \advance\n by1
\includegraphics[width=5cm]{IMG_1823.JPG}
\newpage
\repeat
\end{document}
和
\documentclass{article}
\usepackage{pgf}
\pgfdeclareimage[width=5cm]{test}{IMG_1823.JPG}
\pagestyle{empty}
\begin{document}
\newcount\n
\n=0
\loop\ifnum\n<100 \advance\n by1
\pgfuseimage{test}
\newpage
\repeat
\end{document}
使用 pdfTeX-1.40.10 进行编译,生成的文档大小为(来自 pdfinfo 的输出):
pgf-version:
File size: 1673589 bytes
Graphicx-version:
File size: 1667806 bytes
照片约1.6 Mb:
$ du IMG_1823.JPG
1592 IMG_1823.JPG
直接添加\pdfcompresslevel=0
和检查 pdf 文件的内容这两种方法似乎(据我所知)只嵌入一次图像数据?
答案1
常见问题解答说重复的图形只有在您制作 PostScript 作为最终格式时才会成为问题。将 PostScript 提炼为 PDF(通过 ghostscript 或 Distiller)将合并图形,就像通过 pdftex 直接生成 PDF 一样。
对于较小的 PostScript 文件是为了达到预期的结果,常见问题解答提供了几种技术(不同程度的隐蔽性)来确保多次包含的图形只插入一次。