Imprimir um SVG na linha de comando


8

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

Respostas:


8

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 no modo em lote sem um servidor X disponível.

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

Ou se você deseja 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 uma maneira de usar a entrada SVG; portanto, você precisará escrever um pouco de código de cola em Java.


0

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


2
ele pediu especificamente para um programa de linha de comando
penguin359

0

Os arquivos SVG, como você observou, são apenas texto xml. Despejar esses dados diretamente na impressora não gera nada. O que você precisa é de um programa que pode renderizar 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 é renderizado.

No entanto, não se desespere! Existem muitos programas que podem renderizar os dados da linha de comando e alguns que podem até renderizar e imprimir tudo de uma só vez. Você precisa procurar nos sinalizadores de linha de comando alguns programas de maior peso com os quais normalmente espera obter uma GUI.

Por exemplo, eu 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 facilita muito o processo de conversão, simplificando todos os sinalizadores 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 standby antigos, como o ImageMagick, também podem converter arquivos SVG em imagens renderizadas em um determinado tamanho. Espero que outros aplicativos como o Inkscape também consigam 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!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.