Imprime um SVG na linha de comando

7

Como posso imprimir um SVG, já dimensionado para tamanho a4, na linha de comando? Eu tentei usar lpr , mas a impressora apenas imprimiu o XML real do arquivo, o que não é o que eu queria.

    
por ixtmixilix 25.04.2011 / 18:01

3 respostas

7
O

Inkscape pode converter entre vários formatos de gráficos vetoriais, incluindo SVG para PDF. Embora seja normalmente um aplicativo GUI, ele pode ser executado em lote sem um servidor X disponível.

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

Ou se você quiser imprimir diretamente:

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

Outra possibilidade é a biblioteca Apache Batik . No entanto, embora exista uma ferramenta de linha de comando baseada nessa biblioteca, Fop , ela não parece ter um jeito de usar Entrada SVG, então você teria que escrever um pouco de código de cola em Java.

    
por 25.04.2011 / 23:54
0

Tente usar uma GUI, por exemplo, eye of gnome . Também firefox é capaz de abrir svg's e imprimir.
Pelo menos você pode importar a imagem para o Writer do OpenOffice ; -)

    
por 25.04.2011 / 18:06
0

Os arquivos SVG, como você observou, são apenas texto xml. Colocar esses dados diretamente na impressora vai te dar um monte de nada. O que você precisa é de um programa que possa RENDER esses dados. Você diz que o arquivo já está dimensionado para o tamanho A4, que é apenas um espaço de coordenadas para os dados vetoriais escalonáveis. Não é processado.

No entanto, não se desespere! Existem muitos programas que podem renderizar os dados a partir da linha de comando e outros que podem renderizar e imprimir todos em um único wack. Você precisa examinar os sinalizadores de linha de comando para alguns programas de peso mais pesado com os quais você normalmente espera obter uma GUI.

Por exemplo, sei que você pode usar o LibreOffice na linha de comando para abrir e imprimir um arquivo ou convertê-lo para outro formato. Existe um prático utilitário de linha de comando chamado unoconv que torna o processo de conversão muito mais fácil, simplificando todas as sinalizações que você teria que enviar.

O Gimp também possui alguns sinalizadores de linha de comando para abrir, converter, salvar e até imprimir. Alguns dos antigos recursos como o ImageMagick também são capazes de converter arquivos SVG em imagens renderizadas em um determinado tamanho. Espero que outras aplicações como o Inkscape também sejam capazes de fazer isso.

Depois de ter uma imagem, deve ser fácil imprimir a partir da linha de comando. Se você fizer isso com frequência, poderá escrever um pequeno script de duas linhas para converter e imprimir!

    
por 25.04.2011 / 18:25