Comment imprimer un SVG, déjà mis à l'échelle au format a4, à partir de la ligne de commande? J'ai essayé d'utiliser lpr
, mais à la place, l'imprimante vient d'imprimer le XML réel du fichier, ce qui n'est pas ce que je voulais.
Comment imprimer un SVG, déjà mis à l'échelle au format a4, à partir de la ligne de commande? J'ai essayé d'utiliser lpr
, mais à la place, l'imprimante vient d'imprimer le XML réel du fichier, ce qui n'est pas ce que je voulais.
Réponses:
Inkscape peut convertir entre différents formats graphiques vectoriels, y compris SVG en PDF. Bien qu'il s'agisse normalement d'une application graphique, elle peut s'exécuter en mode batch sans serveur X disponible.
inkscape --without-gui --export-pdf=foo.pdf foo.svg
lpr foo.pdf
Ou si vous souhaitez imprimer directement:
inkscape --without-gui --export-pdf=/dev/stdout foo.svg | lpr
Une autre possibilité est la bibliothèque Apache Batik . Cependant, bien qu'il existe un outil en ligne de commande basé sur cette bibliothèque, Fop , il ne semble pas avoir un moyen d'utiliser l'entrée SVG, vous devez donc écrire un peu de code de collage en Java.
Comme vous l'avez noté, les fichiers SVG ne sont que du texte xml. Le transfert de ces données directement vers l'imprimante ne vous apportera rien. Ce dont vous avez besoin, c'est d'un programme capable de RENDRE ces données. Vous dites que le fichier est déjà mis à l'échelle au format A4 qui n'est qu'un espace de coordonnées pour les données vectorielles évolutives. Ce n'est pas rendu.
Mais ne désespérez pas! Il existe de nombreux programmes qui peuvent rendre les données à partir de la ligne de commande et certains qui peuvent même rendre et imprimer le tout dans un wack. Vous devez examiner les indicateurs de ligne de commande pour certains programmes de poids plus lourds avec lesquels vous pourriez normalement vous attendre à obtenir une interface graphique.
Par exemple, je sais que vous pouvez utiliser LibreOffice sur la ligne de commande pour ouvrir et imprimer un fichier ou le convertir dans un autre format. Il existe un utilitaire de ligne de commande pratique appelé unoconv qui rend le processus de conversion beaucoup plus facile en simplifiant tous les indicateurs que vous devrez envoyer.
Le Gimp dispose également de quelques drapeaux de ligne de commande pour ouvrir, convertir, enregistrer et même imprimer. Certains des anciens standbys comme ImageMagick sont également capables de convertir des fichiers SVG en images rendues à une taille donnée. Je m'attends à ce que d'autres applications comme Inkscape soient également capables de le faire.
Une fois que vous avez une image, il devrait être facile d'imprimer à partir de la ligne de commande. Si vous faites cela souvent, vous pourriez écrire un petit script de deux lignes pour convertir et imprimer!