【发布时间】:2016-04-03 07:29:15
【问题描述】:
作为包含基于浏览器的可视化编辑器的项目的一部分,我使用fabric.js 创建 SVG 文件,然后将其转换为 PDF 文件。
在某些情况下,最终结果是生成的 PDF 文件在整个文档中多次出现相同的图像,这会导致大量且不必要的文件膨胀,从而导致 PDF 文件非常大。
在 SVG 上,这可以通过使用单个 <image> 元素并与 <use> 元素重复使用来轻松解决(正如我的 previous question 中所回答的那样)。使用 Inkscape 将 SVG 转换为 PDF 格式,而 Inkscape 似乎没有“得到提示”,因为它为文档中的每一个外观重新嵌入了重复的图像。
Smallpdf.com 的 PDF 压缩工具似乎能够解决这个问题,但我不明白它究竟是如何做到的;我也无法使用 Inkscape 或我知道的任何其他工具复制此优化。
是否有这种技术的名称,或者更好的方法让我自己复制它?我读到 PDF 中的 XObjects 是合适的工具,但我不明白如何自己实现它们,也找不到任何真实的例子。
【问题讨论】:
-
您有这方面的示例 PDF 文档吗?我将添加一个通用答案来解释它如何与 PDF 中的 XObjects 一起使用(类似于 SVG),但要知道这是否适用于您的文件,需要查看文件的实际创建方式。
-
@DavidvanDriessche 谢谢,我会尽快准备并发布一个示例。
标签: pdf pdf-generation inkscape