Existe-t-il un outil de ligne de commande Linux gratuit pour convertir SVG en PDF et / ou un format bitmap couramment utilisé (par exemple PNG)?
Existe-t-il un outil de ligne de commande Linux gratuit pour convertir SVG en PDF et / ou un format bitmap couramment utilisé (par exemple PNG)?
Réponses:
Imagemagick est génial lorsque la sortie tramée (pixellisée) est ce que vous voulez (ou est au moins acceptable), mais c'est un mauvais choix sinon, car elle incorpore efficacement dans le pdf une version tramée de tout ce que vous essayez de convertir. L'intérêt de svg / pdf est qu'il peut être vectorisé, donc de plus petite taille, tout en restant lisse à n'importe quelle résolution.
Donc, je recommanderais certainement d'utiliser Inkscape ou CarioSVG . Ce dernier dispose de plusieurs utilitaires de ligne de commande précisément à cette fin ( svg2pdf
, svg2ps
et svg2png
). Le seul problème est qu'il s'agit essentiellement d'un œuf de python, donc si vous n'avez pas d'environnement python configuré et que vous n'êtes pas assez averti (ou que vous ne vous en souciez pas assez) pour en configurer un, cette option est non aller. Je me suis essayé, mais j'ai eu des problèmes pour configurer le nécessaire libcairo
(pas que j'ai essayé trop fort).
Inkscape est génial, mais le cli est un peu maladroit si vous voulez juste une petite commande rapide pour faire tout le travail pour vous. J'ai mis en place quelques petits scripts pour prendre soin de tout cela pour moi:
svg2pdf
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-pdf="$(basename $i .svg).pdf" $i
done
svg2png
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-png="$(basename $i .svg).png" $i
done
Insérez le premier ~/bin/svg2pdf
et le dernier ~/bin/svg2png
, exécutez- chmod +x
les tous les deux pour les rendre exécutables, et boum! Vous disposez d'un raccourci rapide et facile pour ces opérations souvent recherchées qui ne vous oblige pas à penser ou à vous rappeler comment fonctionne la CLI d'Inkscape. (De toute évidence, vous devez installer Inkscape avant que cela fonctionne)
time for i in {1..10}; do time inkscape --without-gui -f "drawing.svg" --export-pdf="drawing$i.pdf"; done;
réel 0m2.192s time for i in {1..10}; do convert drawing.svg drawing$i$i$i.pdf; done;
réel 0m0.381s
Il y a Image Magick et Inkscape a également des outils en ligne de commande.
convert
gagne de loin. Il est même capable de convertir vers et à partir de formats ésotériques dont vous ne saviez même pas l'existence, et de leur appliquer plus d'effets que vous n'en aurez jamais besoin.
convert
est un outil en ligne de commande pour ImageMagick.
Inkscape
Vers PDF:
inkscape -A a.pdf a.svg
en PNG:
inkscape -e a.png a.svg
Trouvé sur man inkscape
et Comment utiliser Inkscape en mode ligne de commande
comme je le sais, il existe un moyen de faire fonctionner Inkscape via cmd - j'ai déjà utilisé quelque chose de similaire pour les vignettes PNG d'exportation par lots de mon énorme collection SVG. Comme Inkscape prend également en charge l'exportation PDF via Cairo, il devrait également être possible d'exporter PDF. Je demanderais sur un forum Inkscape. :-)
mogrify -format pdf -- *.svg