Apakah ada alat baris perintah linux gratis untuk mengkonversi SVG ke PDF dan / atau beberapa format bitmap yang umum digunakan (misalnya PNG)?
Apakah ada alat baris perintah linux gratis untuk mengkonversi SVG ke PDF dan / atau beberapa format bitmap yang umum digunakan (misalnya PNG)?
Jawaban:
Imagemagick bagus ketika output raster (pixelated) adalah apa yang Anda inginkan (atau paling tidak dapat diterima), tetapi merupakan pilihan yang buruk, karena ini secara efektif menanamkan dalam pdf versi raster dari apa pun yang Anda coba konversi. Inti dari svg / pdf adalah ia dapat di-vektor, dengan demikian ukurannya lebih kecil, namun tetap halus pada resolusi apa pun.
Jadi, saya pasti akan merekomendasikan menggunakan Inkscape atau CarioSVG . Yang terakhir memiliki beberapa utilitas baris perintah tepat untuk tujuan ini ( svg2pdf
, svg2ps
dan svg2png
). Satu-satunya halangan adalah pada dasarnya itu hanyalah telur python, jadi jika Anda tidak memiliki lingkungan python yang diatur dan tidak cukup mahir (atau tidak cukup peduli) untuk mengaturnya, maka opsi itu adalah no Pergilah. Saya mencoba sendiri, tetapi memiliki masalah pengaturan yang diperlukan libcairo
(bukan karena saya berusaha terlalu keras).
Inkscape memang luar biasa, tetapi cli sedikit kikuk jika Anda hanya menginginkan sedikit perintah cepat untuk melakukan semua pekerjaan untuk Anda. Saya mengumpulkan beberapa skrip kecil untuk mengurus semua ini untuk saya:
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
Masukkan yang pertama ~/bin/svg2pdf
dan yang terakhir ~/bin/svg2png
, jalankan chmod +x
keduanya untuk membuat mereka dieksekusi, dan boom! Anda memiliki pintasan cepat dan mudah untuk operasi yang sering diinginkan ini yang tidak mengharuskan Anda untuk memikirkan atau mengingat cara kerja CLI Inkscape. (Jelas Anda perlu menginstal Inkscape sebelum ini akan berfungsi)
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;
nyata 0m0.381s
Ada Image Magick , dan Inkscape juga memiliki alat baris perintah.
convert
menang sejauh ini. Ia bahkan dapat mengonversi ke dan dari format esoteris yang bahkan tidak Anda ketahui ada, dan menerapkan lebih banyak efek padanya yang Anda perlukan.
convert
adalah alat baris perintah untuk ImageMagick.
Inkscape
Ke PDF:
inkscape -A a.pdf a.svg
ke PNG:
inkscape -e a.png a.svg
Ditemukan di man inkscape
dan Cara menggunakan Inkscape dalam mode baris perintah
seperti yang saya tahu, ada cara untuk mengoperasikan Inkscape via cmd - Saya sudah menggunakan sesuatu yang mirip untuk mengekspor batch PNG thumbnails dari koleksi SVG besar saya. Karena Inkscape juga mendukung ekspor PDF melalui Kairo, mungkin juga untuk mengekspor PDF. Saya akan bertanya di beberapa forum Inkscape. :-)
mogrify -format pdf -- *.svg