从命令行打印 SVG

ixt*_*lix 8 command-line printing cups svg

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

Gil*_*il' 9

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

inkscape --without-gui --export-pdf=foo.pdf foo.svg
lpr foo.pdf
Run Code Online (Sandbox Code Playgroud)

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

inkscape --without-gui --export-pdf=/dev/stdout foo.svg | lpr
Run Code Online (Sandbox Code Playgroud)

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