如何在Linux上将SVG转换为PDF

如何在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.so.2
  • libgobject-2.0.so.0
  • libgthread-2.0.so.0
  • libglib-2.0.so.0
  • librsvg-2.so.2
  • libpthread.so.0
  • libc.so.6

默认情况下,libcairo需要libX11,因此rsvg-convert可能很难安装到无头系统中。

注意:手册页rsvg-convert指出该工具总是栅格化,但是事实并非如此。该手册已经过时了。有时您的svg生成工具可以部分光栅化svg图像,这也可能会误导您。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在几张纸上将SVG转换为PDF

如何在应用程序服务器上将假脱机请求转换为 PDF 文件?

在Linux上将pdf转换为2up

如何在Linux上将pptx文件转换为jpg或png(对于每个幻灯片)?

如何在图上将时代转换为日期

如何在 xamarin android 上将 ProfilePictureView 转换为位图

如何在iOS上将文本转换为图像?

如何在Ionic上将对象转换为Json?

如何在python上将元组类型转换为int?

如何在Windows上将CVS存储库转换为Mercurial?

如何在Windows上将Qt QString转换为LPCTSTR

如何在Mac上将.pem文件转换为.ppk文件?

如何在SQL上将字符串转换为数组

如何在PC上将Markdown文件转换为Dokuwiki

如何在Windows上将jar文件转换为.dmg

如何在 Flutter 上将 RGB 转换为 CIELAB 或 L* a* b*

在iOS上将SwiftUI View转换为PDF

在Linux上将VCF生日转换为Caldav

在Linux上将AVI帧转换为JPG

在Linux上将CSV转换为XLS文件

如何在javascript中将图像(svg)转换为渲染的svg?

将SVG转换为PDF

如何在Linux中使用命令行将PDF转换为JPG?

如何在Linux中将A4大小的后记转换为pdf

如何在Linux上的命令行中将一系列图像转换为PDF?

如何在Linux(cntose)服务器上将我的asp.net mvc网站托管到该网站或将此网站代码转换为asp.net核心

如何在Javascript上将时间字符串转换为Date对象?

如何在没有ffmpeg的ubuntu 14上将flv转换为mp3

如何在 tomcat 上将 spring 批处理 jar 转换为可部署的战争