Drucken Sie eine SVG-Datei über die Befehlszeile

8

Wie kann ich eine SVG-Datei, die bereits auf die Größe a4 skaliert ist, über die Befehlszeile drucken? Ich habe es versucht lpr, aber stattdessen hat der Drucker nur das eigentliche XML der Datei ausgedruckt, was nicht das ist, was ich wollte.

ixtmixilix
quelle

Antworten:

8

Inkscape kann zwischen verschiedenen Vektorgrafikformaten konvertieren, einschließlich SVG in PDF. Obwohl es sich normalerweise um eine GUI-Anwendung handelt, kann sie im Batch-Modus ausgeführt werden, ohne dass ein X-Server verfügbar ist.

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

Oder wenn Sie direkt drucken möchten:

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

Eine andere Möglichkeit ist die Apache Batik Bibliothek. Obwohl es ein Befehlszeilentool gibt, das auf dieser Bibliothek basiert, Fop , scheint es keine Möglichkeit zu geben, SVG-Eingaben zu verwenden, sodass Sie ein bisschen Klebercode in Java schreiben müssten.

Gilles 'SO - hör auf böse zu sein'
quelle
0

Versuchen Sie, eine grafische Benutzeroberfläche zu verwenden, z. B. Eye of Gnome . Auch Firefox kann SVGs öffnen und drucken.
Zumindest kannst du das Bild in OpenOffices Writer importieren ;-)

binfalse
quelle
2
er bat speziell um ein Kommandozeilenprogramm
penguin359
0

SVG-Dateien sind, wie Sie bemerkt haben, nur XML-Text. Wenn Sie diese Daten direkt auf den Drucker übertragen, erhalten Sie eine Menge nichts. Was Sie brauchen, ist ein Programm, das diese Daten rendern kann. Sie sagen, die Datei ist bereits auf die Größe A4 skaliert, die nur ein Koordinatenraum für die skalierbaren Vektordaten ist. Es wird nicht gerendert.

Verzweifle jedoch nicht! Es gibt viele Programme, die die Daten über die Befehlszeile rendern können, und einige, die sogar alles in einem Wack rendern und drucken können. Sie müssen in Befehlszeilenflags nach Programmen mit höherem Gewicht suchen, mit denen Sie normalerweise eine grafische Benutzeroberfläche erwarten.

Ich weiß zum Beispiel, dass Sie LibreOffice in der Befehlszeile verwenden können, um eine Datei zu öffnen und zu drucken oder sie in ein anderes Format zu konvertieren. Es gibt ein praktisches Befehlszeilenprogramm namens unoconv , das den Konvertierungsprozess erheblich vereinfacht, indem alle zu sendenden Flags vereinfacht werden.

Der Gimp verfügt auch über einige Befehlszeilenflags zum Öffnen, Konvertieren, Speichern und sogar Drucken. Einige der alten Standbys wie ImageMagick können auch SVG-Dateien in gerenderte Bilder mit einer bestimmten Größe konvertieren. Ich gehe davon aus, dass andere Anwendungen wie Inkscape dies ebenfalls können.

Sobald Sie ein Bild haben, sollte es einfach sein, über die Befehlszeile zu drucken. Wenn Sie dies häufig tun, können Sie ein kleines zweizeiliges Skript zum Konvertieren und Drucken schreiben!

Caleb
quelle