Come posso stampare un file SVG, già ridimensionato in formato a4, dalla riga di comando? Ho provato ad usare lpr
, ma invece la stampante ha appena stampato l'XML effettivo del file, che non è quello che volevo.
Come posso stampare un file SVG, già ridimensionato in formato a4, dalla riga di comando? Ho provato ad usare lpr
, ma invece la stampante ha appena stampato l'XML effettivo del file, che non è quello che volevo.
Risposte:
Inkscape può convertire tra diversi formati di grafica vettoriale, incluso SVG in PDF. Sebbene sia normalmente un'applicazione GUI, può essere eseguita in modalità batch senza un server X disponibile.
inkscape --without-gui --export-pdf=foo.pdf foo.svg
lpr foo.pdf
O se vuoi stampare direttamente:
inkscape --without-gui --export-pdf=/dev/stdout foo.svg | lpr
Un'altra possibilità è la libreria Apache Batik . Tuttavia, anche se esiste uno strumento da riga di comando basato su quella libreria, Fop , non sembra avere un modo per usare l'input SVG, quindi dovresti scrivere un po 'di codice colla in Java.
I file SVG, come hai notato, sono solo testo XML. Scaricare tali dati direttamente sulla stampante non ti procurerà nulla. Ciò di cui hai bisogno è un programma in grado di RENDERE quei dati. Dici che il file è già ridimensionato in formato A4 che è solo uno spazio di coordinate per i dati vettoriali scalabili. Non è reso.
Tuttavia non disperare! Esistono molti programmi che possono eseguire il rendering dei dati dalla riga di comando e alcuni che possono persino eseguire il rendering e la stampa in un unico pacchetto. È necessario esaminare i flag della riga di comando per alcuni programmi di peso più pesanti con i quali ci si potrebbe aspettare di ottenere una GUI.
Ad esempio, so che puoi usare LibreOffice dalla riga di comando per aprire e stampare un file o convertirlo in un altro formato. Esiste una pratica utility da riga di comando chiamata unoconv che rende molto più semplice il processo di conversione semplificando tutti i flag che dovresti inviare.
Gimp ha anche alcuni flag della riga di comando per aprire, convertire, salvare e persino stampare. Alcuni dei vecchi standbys come ImageMagick sono anche in grado di convertire i file SVG in immagini renderizzate a una determinata dimensione. Mi aspetto che anche altre applicazioni come Inkscape possano farlo.
Una volta che hai un'immagine, dovrebbe essere facile stampare dalla riga di comando. Se lo fai spesso, potresti scrivere un piccolo script a due righe da convertire e stampare!