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, svg2pset 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/bashfor i in $@;do
inkscape --without-gui --export-pdf="$(basename $i .svg).pdf" $i
done
svg2png
#!/bin/bashfor i in $@;do
inkscape --without-gui --export-png="$(basename $i .svg).png" $i
done
Insérez le premier ~/bin/svg2pdfet le dernier ~/bin/svg2png, exécutez- chmod +xles 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)
J'ai fait un seul test de performance rapide avec imagemagick et inkscape avec génération de dix fichiers PDF et imagemagick est 5,77 fois plus rapide. 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
6
Cela peut être plus rapide, mais vous perdez la nature vectorielle du graphique, il est donc probablement 10 fois plus grand (bien que j'aimerais que vous me corrigiez si je me trompe). La raison pour laquelle cela prend plus de temps est qu'il effectue de réelles manipulations vectorielles, ce qui est beaucoup plus complexe que la pixellisation (ce qui équivaut essentiellement au rendu).
convertgagne 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.
new123456
3
Juste pour clarifier pour les lecteurs non familiers, convertest un outil en ligne de commande pour ImageMagick.
Erika
2
et une autre précision: si vous utilisez la conversion, vous passerez du vecteur au raster et perdrez la possibilité de redimensionner l'image. dans mon livre, c'est inkscape qui gagne. cela dépend juste de ce dont vous avez besoin.
Pour ajouter: -e est pour PNG; utiliser -A pour PDF
nsheff
0
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
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
etsvg2png
). 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écessairelibcairo
(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
svg2png
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)la source
time for i in {1..10}; do time inkscape --without-gui -f "drawing.svg" --export-pdf="drawing$i.pdf"; done;
réel 0m2.192stime for i in {1..10}; do convert drawing.svg drawing$i$i$i.pdf; done;
réel 0m0.381sIl y a Image Magick et Inkscape a également des outils en ligne de commande.
la source
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:
en PNG:
Trouvé sur
man inkscape
et Comment utiliser Inkscape en mode ligne de commandela source
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. :-)
la source