SVG를 PDF 및 / 또는 일반적으로 사용되는 비트 맵 형식 (예 : PNG)으로 변환하는 무료 Linux 명령 행 도구가 있습니까?
SVG를 PDF 및 / 또는 일반적으로 사용되는 비트 맵 형식 (예 : PNG)으로 변환하는 무료 Linux 명령 행 도구가 있습니까?
답변:
Imagemagick 은 래스터 화 된 (픽셀 화 된) 출력이 원하는 것 (또는 최소한 수용 가능) 일 때 유용하지만, 변환하려는 모든 것의 래스터 화 된 버전을 pdf에 효과적으로 포함하기 때문에 그렇지 않은 것은 좋지 않습니다. svg / pdf의 요점은 벡터화되어 크기를 작게 할 수 있으며 어떤 해상도에서도 부드럽게 유지된다는 것입니다.
따라서 Inkscape 또는 CarioSVG 사용하는 것이 좋습니다 . 후자는 바로이 목적을 위해 여러 명령 줄 유틸리티가 있습니다 ( svg2pdf
, svg2ps
및 svg2png
). 유일한 장애는 기본적으로 파이썬 계란이라는 것입니다. 따라서 파이썬 환경이 설정되어 있지 않고 설정하기에 충분하지 않거나 충분히 신경 쓰지 않으면 해당 옵션은 아니오입니다. 가다. 나는 나 자신을 시도했지만 필요한 libcairo
것을 설정하는 데 문제가있었습니다 ( 너무 열심히 시도하지는 않았습니다 ).
Inkscape는 대단하지만, 모든 작업을 수행하는 간단한 명령을 원한다면 cli는 약간 복잡합니다. 나는이 모든 것을 나를 돌보는 몇 가지 작은 스크립트를 모았습니다.
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
에서 첫 번째 넣어 ~/bin/svg2pdf
후자의 ~/bin/svg2png
실행 chmod +x
그들을 실행, 붐 만들기 위해 그들 모두를! Inkscape의 CLI 작동 방식을 생각하거나 기억할 필요가없는 자주 원하는 작업에 대한 빠르고 쉬운 바로 가기가 있습니다. (이것이 작동하려면 Inkscape가 설치되어 있어야합니다)
time for i in {1..10}; do time inkscape --without-gui -f "drawing.svg" --export-pdf="drawing$i.pdf"; done;
실제 0m2.192s time for i in {1..10}; do convert drawing.svg drawing$i$i$i.pdf; done;
실제 0m0.381s
거기에 이미지 마법 (magick)은 , 그리고 잉크 스케이프는 또한 명령 행 도구가 있습니다.
convert
훨씬 이깁니다. 심지어 기존에 몰랐던 난해한 형식으로 변환하거나 변환 할 수 있으며 더 많은 효과를 적용 할 수 있습니다.
convert
위해 ImageMagick을위한 명령 줄 도구입니다.
잉크 스케이프
PDF로 :
inkscape -A a.pdf a.svg
PNG로 :
inkscape -e a.png a.svg
에서 찾을 수 man inkscape
및 방법 커맨드 모드에서 잉크 스케이프를 사용하는
mogrify -format pdf -- *.svg