多次包含图形文件时产生的文档大小 - pgf 与 graphicx

多次包含图形文件时产生的文档大小 - pgf 与 graphicx

在回答这个问题时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 文件为了达到预期的结果,常见问题解答提供了几种技术(不同程度的隐蔽性)来确保多次包含的图形只插入一次。

相关内容