在wkhtmltopdf中重用相同的SVG生成PDF

4 投票
2 回答
2710 浏览
提问于 2025-04-16 01:57

我有以下的HTML代码,想用wkhtmltopdf把它转换成PDF:

<html>
<head>
</head>
<body>
<object data="first.svg" width="100" height="100" type="image/svg+xml"></object>
<object data="second.svg" width="100" height="100" type="image/svg+xml"></object> 
<object data="third.svg" width="100" height="100" type="image/svg+xml"></object>
</body>
</html>

我会在多个地方多次使用这些SVG文件,比如每一页的顶部都会有一个。

我该怎么做才能让生成的PDF文件重用文档中已经存在的SVG,而不是在PDF里新建一个,这样就不会增加文件大小。

2 个回答

0

我在找wkhtmltopdf支持矢量图的时候发现了这个帖子,初步看起来有更好的方法来嵌入svg图形:使用标签,并通过CSS设置宽度和高度来限制或设置大小。效果非常好……

我还尝试多次包含我的svg文件——每添加一次,文件大小就会不断增加,越来越大。猜测一下,你可能是想在页面上添加一个logo。你可以考虑使用Pdftk来处理文件,并给你的页面加水印:

http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

0

我对wkhtmltopdf不太熟悉,但我知道PDF文件的结构是这样的:它里面包含了一些“字形”的库(这些字形对应字母、符号、双字母组合等),这些字形会在不同的位置反复使用。

看起来你很可能可以把最终的svg图像变成一个字形,不过我恐怕没有更多的细节可以提供了。

撰写回答