Imprime o arquivo svg a partir da linha de comando usando o visualizador de imagens (eog) ou lpr

1

É possível imprimir um arquivo svg através do visualizador de imagens (por exemplo, eye of gnome) na linha de comando ou usando lpr ?

O problema subjacente é que eu tenho um diretório com muitos arquivos svg nele e quero imprimir todos eles automaticamente sem ter que abrir individualmente cada arquivo no visualizador de imagens e, em seguida, imprimir usando a interface do usuário. Eu não preciso alterar nenhuma opção de impressão dentro do eog (todos os padrões funcionam bem).

Note que o comando lpr não parece ajudar aqui - quando aplicado a arquivos svg, ele imprime muitas páginas de XML. Eu ficaria tão feliz com qualquer solução que envolvesse lpr para imprimir a imagem em um svg em vez do XML.

    
por Colin T Bowers 02.06.2017 / 03:18

1 resposta

2

Como você já experimentou, o lpr imprimirá apenas os arquivos svg como XML (e, portanto, imprime páginas preenchidas apenas com texto).

No entanto, há uma solução muito simples, que é converter os arquivos svg para algo mais viável, como png on the fly e, em seguida, automaticamente imprimir esses arquivos gerados. Duas etapas são necessárias:

Passo 1: Instale imagemagick:

sudo apt-get install imagemagick

Etapa 2: Contanto que você tenha lp configurado corretamente com uma impressora 'padrão', execute o seguinte loop em uma tela do Terminal no diretório que contém os arquivos svg:

for i in *.svg
do
convert "$i" png:- | lpr
done

Explicação:

Esse 'loop' realiza o seguinte:

  1. Processa cada arquivo svg por sua vez no diretório
  2. Usa o utilitário convert (parte de imagemagick ) para produzir arquivos png de cada arquivo svg
  3. Passa cada arquivo png para stdout (em vez de gravá-lo permanentemente em disco)
  4. Imprime este arquivo usando lpr

Isso foi testado perfeitamente no meu próprio sistema e deve funcionar igualmente bem no seu sistema:).

    
por andrew.46 04.06.2017 / 10:50