SVG를 PDF 및 / 또는 일반적으로 사용되는 비트 맵 형식으로 변환하는 무료 Linux 명령 행 도구?


17

SVG를 PDF 및 / 또는 일반적으로 사용되는 비트 맵 형식 (예 : PNG)으로 변환하는 무료 Linux 명령 행 도구가 있습니까?

linux  svg 

2
mogrify -format pdf -- *.svg
Yrogirg

답변:


25

Imagemagick 은 래스터 화 된 (픽셀 화 된) 출력이 원하는 것 (또는 최소한 수용 가능) 일 때 유용하지만, 변환하려는 모든 것의 래스터 화 된 버전을 pdf에 효과적으로 포함하기 때문에 그렇지 않은 것은 좋지 않습니다. svg / pdf의 요점은 벡터화되어 크기를 작게 할 수 있으며 어떤 해상도에서도 부드럽게 유지된다는 것입니다.

따라서 Inkscape 또는 CarioSVG 사용하는 것이 좋습니다 . 후자는 바로이 목적을 위해 여러 명령 줄 유틸리티가 있습니다 ( svg2pdf, svg2pssvg2png). 유일한 장애는 기본적으로 파이썬 계란이라는 것입니다. 따라서 파이썬 환경이 설정되어 있지 않고 설정하기에 충분하지 않거나 충분히 신경 쓰지 않으면 해당 옵션은 아니오입니다. 가다. 나는 나 자신을 시도했지만 필요한 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가 설치되어 있어야합니다)


10 개의 PDF를 생성하여 imagemagick 및 inkscape로 단 하나의 빠른 성능 테스트를 수행했으며 imagemagick5.77 배 더 빠릅니다. 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

6
더 빠를 지 모르지만 그래픽의 벡터 특성을 잃어 가고 있으므로 아마도 10 배가 더 큽니다 (잘못되면 나를 수정하도록하고 싶지만). 시간이 더 걸리는 이유는 실제 벡터 조작을 수행하기 때문에 래스터 화 (기본적으로 렌더링과 동일)보다 훨씬 더 복잡하기 때문입니다.
metasoarous

7

거기에 이미지 마법 (magick)은 , 그리고 잉크 스케이프는 또한 명령 행 도구가 있습니다.


3
convert훨씬 이깁니다. 심지어 기존에 몰랐던 난해한 형식으로 변환하거나 변환 할 수 있으며 더 많은 효과를 적용 할 수 있습니다.
new123456

3
익숙하지 않은 독자에게 명확하게 설명하기 convert위해 ImageMagick을위한 명령 줄 도구입니다.
Erika 2016 년

2
그리고 한 번 더 설명 : 변환을 사용하면 벡터에서 래스터로 전환하고 이미지 크기 조정 기능이 손실됩니다. 내 책에서이기는 잉크 스케이프입니다. 그것은 단지 당신이 필요로하는 것에 달려 있습니다.
nsheff


0

아시다시피 cmd를 통해 Inkscape를 작동하는 방법이 있습니다. 이미 거대한 SVG 컬렉션에서 일괄 내보내기 PNG 축소판에 비슷한 것을 사용했습니다. Inkscape는 Cairo를 통한 PDF 내보내기도 지원하므로 PDF를 내보낼 수도 있습니다. 잉크 스케이프 포럼에 물어 봤습니다. :-)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.