我正在使用 LuaLaTeX 生成 PDF 文档(论文)。我几乎所有的图表都是用pgfplots
包,且不超过 40 kB。文档有 178 页。此文档的大小为 34 MB。太大,无法上传到我们的图书馆服务器。
即使我排除所有非 PDF 图像,大小也不会减少太多。它减小了我使用的 png 图像的大小。
有没有办法降低文档质量并进行压缩?例如:压缩所有图片……
答案1
压缩设置
确保压缩设置正确:
\typeout{pdfcompresslevel=\the\pdfcompresslevel}
\typeout{pdfobjcompresslevel=\the\pdfobjcompresslevel}
\typeout{pdfminorversion=\the\pdfminorversion}
TeX Live 2014 的默认设置:
pdfcompresslevel=9
pdfobjcompresslevel=2
pdfminorversion=5
\pdfcompresslevel
将流压缩为页面描述。启用\pdfobjcompresslevel
(值 1 或 2)会压缩更多数据结构,但需要 PDF-1.5。
如果您有较小的值,那么可以通过以下方式设置值:
\pdfcompresslevel=9
\pdfminorversion=5
\pdfobjcompresslevel=2
它可以在 TeX 文件的最开始处设置,并且应该完成前第一个对象已写入 PDF 文件。您可以稍后检查,没有包或类更改了值。
字体
OpenType 字体的压缩效果比 Type 1 字体好很多,因为后者是加密存储的,压缩效果不是很好。既然已经使用了 LuaTeX,我假设字体已经是 OpenType 了?
可以使用程序pdffonts
或AR的字体信息来检查字体的类型。
图
将 40KB 归因于图表的来源?那么 PDF 文件中的结果可能会大得多。使用简单的命令就可以生成大量输出。因此,34MB 中的大部分可能是由图表引起的。
分析
可以使用类似的工具pdftk
将 PDF 分割成单个页面,以查找大尺寸的页面。
答案2
有一个很棒的脚本可以缩小 PDF:https://github.com/pts/pdfsizeopt。我已经使用它好几年了并且值得推荐。
关于 PDF 如此之大的原因:也许您保存了文件的不同版本,只是文件扩展名不同(*.jpg、*.png ...)。出于某种原因,LuaLaTeX 更喜欢大 JPG,而不是小 PNG。
或者 — 我们之前有过 — LuaLaTeX 的后台进程皈依者将您的文件更改为其他内容。查看日志文件,是否有提示?否则提供 MWE 和图片。
最后一种方法是在 Acrobat Standard 中打开 PDF,然后让 Acrobat 缩小它。但您需要该软件...