SVG'yi PDF'ye ve / veya yaygın olarak kullanılan bazı bitmap formatına (örneğin PNG) dönüştürmek için ücretsiz bir linux komut satırı aracı var mı?
SVG'yi PDF'ye ve / veya yaygın olarak kullanılan bazı bitmap formatına (örneğin PNG) dönüştürmek için ücretsiz bir linux komut satırı aracı var mı?
Yanıtlar:
Imagemagick Rasterleştirildiğinde (pikselleştirilmiş) çıkış istediğini büyüktür (veya kabul edilebilir en azından), ama etkili bir pdf size dönüştürmek için çalışıyoruz ne olursa olsun rasterleştirilmiş bir sürümünü gömer beri, aksi kötü bir seçimdir. Svg / pdf'nin tüm noktası, herhangi bir çözünürlükte pürüzsüz kalırken vektörleştirilebilmesi, böylece daha küçük boyutta olmasıdır.
Yani, kesinlikle Inkscape veya CarioSVG kullanmanızı tavsiye ederim . İkincisi, tam olarak bu amaç için çeşitli komut satırı yardımcı programlarına sahiptir ( svg2pdf
, svg2ps
ve svg2png
). Tek aksaklık temelde sadece bir python yumurtası olmasıdır, bu yüzden bir python ortamınız yoksa ve bir tane kurmak için yeterince bilgili değilseniz (veya yeterince umursamıyorsanız), bu seçenek bir hayırdır Git. Kendimi denedim, ancak gerekli ayarlama sorunları vardı libcairo
( çok zor denedim değil ).
Inkscape harika, ama sizin için tüm işleri yapmak için sadece küçük bir komut istiyorsanız cli biraz tıknaz. Bunların hepsini benim için halletmek için birkaç küçük senaryo hazırladım:
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
Birincisini ~/bin/svg2pdf
ve ikincisini içeri koyun, her ikisini de ~/bin/svg2png
çalıştırılabilir chmod +x
hale getirmek için çalıştırın ve patlayın! Inkscape CLI'nın nasıl çalıştığını düşünmenizi veya hatırlamanızı gerektirmeyen bu sıkça istenen işlemler için hızlı ve kolay bir kısayolunuz vardır. (Açıkçası bu işe yaramadan önce Inkscape yüklü olması gerekir)
time for i in {1..10}; do time inkscape --without-gui -f "drawing.svg" --export-pdf="drawing$i.pdf"; done;
gerçek 0m2.192s time for i in {1..10}; do convert drawing.svg drawing$i$i$i.pdf; done;
gerçek 0m0.381s
Image Magick var ve Inkscape'in de komut satırı araçları var.
convert
kazanır. Hatta var olduğunu bile bilmediğiniz ezoterik formatlara dönüşebilir ve bunlardan daha fazla efekt uygulayabilirsiniz.
convert
için ImageMagick için bir komut satırı aracıdır.
Inkscape
PDF'ye:
inkscape -A a.pdf a.svg
PNG'ye:
inkscape -e a.png a.svg
Bulunamadı man inkscape
ve Inkscape'i komut satırı modunda kullanma
bildiğim gibi, Inkscape'i cmd ile çalıştırmanın bir yolu var - zaten büyük SVG koleksiyonumdan toplu dışa aktarma PNG küçük resimleri için benzer bir şey kullandım. Inkscape, Kahire üzerinden PDF dışa aktarmayı da desteklediğinden, PDF'yi de dışa aktarmak mümkün olmalıdır. Bazı Inkscape forumlarında sorardım. :-)
mogrify -format pdf -- *.svg