我在 pdflatex 中使用\includegraphics
pdflatex 从一个有 30 页的 pdf 文件中提取并显示单个页面。每页都是一个图表,pdf 最多包含 30 个图表。生成的 pdf 非常大(超过 9MB),尽管我只有 10 个左右的图表(使用 Python 的 matplotlib 绘制)。
这是我在图形环境中显示图形的操作。17 是 AllGraphs.pdf 中图形的页码
\includegraphics[page=17,scale=0.5]{AllGraphs.pdf}
我的印象是,每次我包含一个图表时,pdflatex 都会将整个 pdf 图表文件嵌入到我的文档中。
如果是这样,有什么方法可以停止这种情况,以便只显示显示的 pdf 文件。
更新:我刚刚做了一个分析。每次我添加对 includegraphics 的调用时,生成的文件的大小大约会增加三分之一到一半,而整个 pdf 的大小就是我从中提取的单个页面(每个 pdf 文件有 36 页)。没有图片的话,我的 pdf 大约是 500k。如果包含 23 张图片,则超过 9MB。也就是说,每张图片大约 370k。每个包含 36 张图片的文件大约是 700-900k。我预计 900/36 等于每张图片大约 30k。另一种理论是,我包含的 pdf 对包含的图片的分辨率产生了影响。
更新 2:使用 Python 中的 PdfPages 生成包含初始图形(每个文件 36 个)的 pdf。我为每个图形调用以下代码。pp 是通过调用创建的绘图对象的引用
pp= PdfPages(fileName)
对于每个数字我都有
fig = plt.figure(figsize=(8.27, 11.69), dpi=100)
... plotting lines ...
plt.tight_layout()
plt.legend(loc='best')
plt.draw()
pp.savefig(fig)
该文件看起来是一个非常普通的 PDF,有 36 页,每页有一张图表。
答案1
你必须:
- 源 PDF
- 目标 PDF
PDF 格式是一个盒子,我不知道您如何生成此源 PDF。我猜想源 PDF 包含的图表格式不能直接由 pdfLaTeX 使用,但“幸运的是”您的 TeX 安装中包含一个后台软件,它在编译时从源 PDF 生成一个大型 jpg 或 eps 文件,并且此 jpg 包含在您的目标 PDF 中。
我既不是 PDF 专家,也不是 pdfLaTeX 专家。但您能描述一下如何生成源 PDF 吗?
好的,但是,缩小较大的 PDF 也是可能的。有一个名为“pdfsizeopt.py”的软件,我已经在 Windows 和 Linux 上使用它多年了。
为了避免嵌入图形中嵌入字体出现问题,我的 *.tex 文件的第一行是:
\pdfinclusioncopyfonts=1