从命令行打印SVG


8

如何从命令行打印已缩放为a4大小的SVG?我尝试使用lpr,但打印机只是打印出文件的实际XML,这不是我想要的。

Answers:


8

Inkscape可以在各种矢量图形格式之间进行转换,包括SVG到PDF。尽管通常是GUI应用程序,但它可以在没有X服务器可用的情况下以批处理模式运行。

inkscape --without-gui --export-pdf=foo.pdf foo.svg
lpr foo.pdf

或者,如果您想直接打印:

inkscape --without-gui --export-pdf=/dev/stdout foo.svg | lpr

另一种可能性是Apache Batik库。但是,尽管有一个基于该库的命令行工具Fop,但它似乎没有使用SVG输入的方法,因此您必须用Java编写一些粘合代码。


0

尝试使用GUI,例如gnome的眼睛。此外火狐能够打开SVG的和打印。
至少您可以将图像导入到OpenOffice的Writer ;-)


2
他特别要求一个命令行程序
penguin359

0

如您所述,SVG文件只是xml文本。直接将这些数据转储到打印机将使您一无所获。您需要的是一个可以渲染该数据的程序。您说文件已经缩放到A4大小,这只是可伸缩矢量数据的坐标空间。它不呈现。

但是不要失望!有很多程序可以从命令行渲染数据,而有些程序甚至可以一次渲染并打印所有数据。您需要查看命令行标志,以获取一些通常可能希望使用GUI的较重的程序。

例如,我知道您可以在命令行上使用LibreOffice打开和打印文件或将其转换为另一种格式。有一个方便的命令行实用程序,称为unoconv,它通过简化您必须发送的所有标志,使转换过程变得更加容易。

Gimp还具有一些用于打开,转换,保存甚至打印的命令行标志。一些旧的备用数据库,例如ImageMagick,也能够将SVG文件转换为给定大小的渲染图像。我希望像Inkscape这样的其他应用程序也能够做到这一点。

拥有图像后,应该可以轻松地从命令行进行打印。如果您经常这样做,则可以编写一些两行脚本来进行转换和打印!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.