如何在Linux上将SVG和SVG(包含一些拉丁文字和一些简单的矢量图形)转换为PDF?
我在Ubuntu Lucid上尝试了Inkscape 0.47,但它随机移动了一些子图形,并且使输出PDF中的行短了一些。所以它的输出是无用的,因为图形看起来完全不同。
我尝试在Google Chrome 16中打开SVG并将其打印为PDF,但是它扭曲了所有颜色,并且还删除了一些元素。(SVG在屏幕上看起来不错,但是在打印预览中已经很糟糕了,生成的PDF也很糟糕。)
我不想光栅化或渲染SVG。将SVG转换为位图图像,然后创建嵌入图像的PDF的解决方案不是我的问题的答案。(FYI Inscape 0.47渲染文本到PNG时是一种非常丑陋的方式,没有抗锯齿)。
我还有什么其他选择?
rsvg-convert为我想要转换的SVG提供了窍门:
$ sudo apt-get install librsvg2-bin
$ rsvg-convert -f pdf -o t.pdf t.svg
rsvg-convert -f pdf
不会对SVG进行栅格化,它会嵌入字体和子集字体(至少它已经嵌入了Arial字体的使用过的字符)。有时字体嵌入失败(例如,对于LMRoman17字体),并且整个字体文件被复制到生成的PDF中。
对Ubuntu Lucid的依赖关系:
默认情况下,libcairo需要libX11,因此rsvg-convert可能很难安装到无头系统中。
注意:手册页rsvg-convert
指出该工具总是栅格化,但是事实并非如此。该手册已经过时了。有时您的svg生成工具可以部分光栅化svg图像,这也可能会误导您。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句