Imagemagick é ótimo quando a saída rasterizada (pixelizada) é o que você quer (ou é pelo menos aceitável), mas, de outra forma, é uma má escolha, já que ela incorpora efetivamente no pdf uma versão rasterizada do que você está tentando converter. O ponto principal do svg / pdf é que ele pode ser vetorizado, portanto, menor em tamanho, permanecendo suave em qualquer resolução.
Então, eu definitivamente recomendaria usar Inkscape ou CarioSVG . O último possui vários utilitários de linha de comando precisamente para essa finalidade ( svg2pdf
, svg2ps
e svg2png
). O único problema é que é basicamente apenas um ovo python, portanto, se você não tiver um ambiente python configurado e não for experiente o bastante (ou não se importar o suficiente) para configurar um, então essa opção é um não. vai. Tentei por mim mesmo, mas tive problemas para configurar o libcairo
necessário (não que eu tenha tentado também disco).
O Inkscape é incrível, mas o cli é um pouco desajeitado se você quiser apenas um comando rápido para fazer todo o trabalho para você. Eu montei alguns pequenos roteiros para cuidar disso tudo para mim:
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-pdf="$(basename $i .svg).pdf" $i
done
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-png="$(basename $i .svg).png" $i
done
Coloque o primeiro em ~/bin/svg2pdf
e o segundo em ~/bin/svg2png
, execute chmod +x
em ambos para torná-los executáveis e boom! Você tem um atalho rápido e fácil para essas operações frequentemente desejadas que não exigem que você pense ou se lembre de como a CLI do Inkscape funciona. (Obviamente você precisa do Inkscape instalado antes que isso funcione)