我希望尽可能减少论文最终版本的文件大小,同时又不造成任何麻烦和质量损失。目前文件大小约为 7 MB。我阅读了很多相关内容(pdfsizeopt、gs、PGF/TikZ、\pdfcompresslevel),但仍然觉得您可以提供有用的建议。
一个主要问题是Libertinus
字体集,它加起来有 3 MB,以及如何避免这种情况。因此,我正在寻找一种嵌入图形而不积累冗余字体数据的方法。
先决条件:
- 因为我是一个完美主义者,所以一般来说,质量的损失对我来说是不可接受的;-)
- Windows、TeXLive、pdflatex、KOMA Script、matplotlib、Libertinus 字体集。我拥有 Adobe CS4、Acrobat 9.0、PS、AI、ID、Affinity Suite,并且在(矢量)图形方面经验丰富。
相关LaTeX
软件包:
\usepackage{siunitx}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[firstpage=true]{background} + setup
\usepackage{textgreek}
\usepackage[osf]{libertinus}
\usepackage{libertinust1math}
\usepackage[activate={true,nocompatibility},final,tracking=true,kerning=true,spacing=true,factor=1100,stretch=10,shrink=10]{microtype}
\usepackage[colorlinks=false, pdfborder={0 0 0}, unicode]{hyperref}
我导入:
- 我的标题页的背景有很多矢量圆圈
- Python 生成的 .svg 文件,为简单起见转换为 .pdf(不使用 .svg 导入
LaTeX
;.svg 为 600kB,.pdf 为 300kB。)我认为我可以通过减少使用模式来缩小有效文件大小,并用转换后的变体(如旋转或翻转)替换其余部分;但这需要在 LaTeX 中做大量工作。也许我可以尝试制作一个可以“删除重复”的 .pdf? - 大学徽标(PDF),文本已经是路径,300kB。我可以操纵曲线使其更简单,但我认为这也会涉及版权。
- 两张带有一些标记的照片(矢量)。在 Affinity Photo 中完成,导出为 .pdf 以保留矢量标记。导出时照片数据使用 JPG 压缩。例如,也许 Adobe 软件可以使用 JPG2000 算法从中挤出最后的几位?它们现在大约有 800kB,也许我可以稍微降低质量
- 用 LucidChart 制作的图表。32kB,很奇怪。
- Libertinus Sans`,无特殊字符。字体文件大小(300 位!)和 AI 表示,文本也是路径。Acrobat 可以复制文本,所以我认为有一个像 OCR 文档中的元覆盖。嵌入的字体和使用 Acrobat 编辑时显示的字体是 Helvetica。SVG 导出也将文本作为路径。但好吧,32kB 不应该使我的最终 PDF 膨胀这么多。
- 用 Affinity Designer 制作的两幅画。80kB,62 kB 来自字体:嵌入元素 (TrueType CID、Identity-H) 的 Libertinus Sans 和 Lato (Type 1) + Arial MT 的嵌入子组。
- 使用一些 AngularJS 包制作的图形。HTML +CSS 和 JS 可生成 SVG 元素。从 Chrome Inspector 复制 SVG 代码时,我在任何其他图形软件中都会遇到错误,即使正确处理 CSS 也是如此。因此,我使用 Chrome 打印为 PDF,然后对 Affinity Publisher 进行一些调整。文件为 120kB,其中 100kB 来自 Libertinus Sans(常规和斜体)
- 来自 matplotlib 的数十张图表。我使用 text.usetex: True 和我的序言子集来获得 Libertinus 外观。导出为 PDF,pdf.compress 9,字体类型 42(因为这会减少以后编辑的麻烦;但我认为我不需要这个)。每个大约 1.6MB,其中 98% 来自字体,因为 Libertinus Sans 和 LibertinusT1Math 已完全嵌入。使用 Acrobat 优化器,我总共得到 1MB(字体子集,T1,用于 Sans 另外还有 CID + Identity-H),但它会破坏任何空格。pdflatex 可以完成这项工作,因为大小不会明显累积,并且 Acrobat 中每种样式只有一个字体集。
一种选择是使用 PGF/TikZ 将图表导入 pdflatex,并且开销很小。对于我的最终版本,这当然是一种选择,对于日常使用,我更喜欢 PDF,因为我可以快速查看和共享它们。PS 的 xpdf 导出功能在 Windows 上对我来说不起作用(如果值得的话,可以在 Linux 上运行它)。但如果使用 pdflatex,PS 似乎无论如何都很奇怪。
完成后,我肯定会在 Acrobat 中尝试 pdfsizeopt、gs 和 optimize。但有些选项会破坏超链接和书签。
总结 如果处理大型字体集,您是否更喜欢使用 PDF 还是 SVG(如果可能的话,还有 PGF/TikZ)来获取小型输出 PDF?
我已经读过的内容: