コマンドラインから、すでにa4サイズにスケーリングされているSVGを印刷するにはどうすればよいですか? lpr
を使用してみましたが、代わりにプリンターがファイルの実際のXMLを出力しただけで、これは私が望んでいたものではありません。
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
もう1つの可能性は、Apache Batik ライブラリです。ただし、そのライブラリに基づくコマンドラインツール Fop はありますが、SVG入力を使用する方法がないように思われるため、グルーコードを少し記述する必要があります。 Java。
GUIを使用してみてください。たとえばeye of gnome。またfirefox svgを開いて印刷することができます。
少なくとも、画像をOpenOfficeのライターにインポートできます;-)
お気づきのように、SVGファイルは単なるxmlテキストです。そのデータを直接プリンタにダンプしても、何も得られません。必要なのは、そのデータをレンダリングできるプログラムです。ファイルは、スケーラブルベクターデータの単なる座標空間であるA4サイズにすでにスケーリングされていると言います。レンダリングされません。
しかし、絶望しないでください!コマンドラインからデータをレンダリングできるプログラムはたくさんあり、すべてを1つのワックでレンダリングして印刷できるプログラムもあります。通常GUIを使用すると予想される、より重いプログラムのコマンドラインフラグを調べる必要があります。
たとえば、コマンドラインでLibreOfficeを使用してファイルを開いて印刷したり、別の形式に変換したりできることは知っています。 noconv と呼ばれる便利なコマンドラインユーティリティがあります。これにより、送信する必要のあるすべてのフラグが単純化され、変換プロセスがはるかに簡単になります。
Gimpには、開いたり、変換したり、保存したり、印刷したりするためのコマンドラインフラグもいくつかあります。 ImageMagickのような古いスタンバイのいくつかは、SVGファイルを特定のサイズでレンダリングされた画像に変換することもできます。 Inkscapeのような他のアプリケーションもこれを実行できると思います。
画像ができたら、コマンドラインから簡単に印刷できるはずです。これを頻繁に行う場合は、変換して印刷するための2行の小さなスクリプトを作成できます。