क्या एसवीजी को पीडीएफ और / या कुछ सामान्य रूप से उपयोग किए जाने वाले बिटमैप प्रारूप (उदाहरण के लिए पीएनजी) में परिवर्तित करने के लिए एक मुफ्त लिनक्स कमांड लाइन टूल है?
क्या एसवीजी को पीडीएफ और / या कुछ सामान्य रूप से उपयोग किए जाने वाले बिटमैप प्रारूप (उदाहरण के लिए पीएनजी) में परिवर्तित करने के लिए एक मुफ्त लिनक्स कमांड लाइन टूल है?
जवाबों:
जब आप चाहते हैं (या कम से कम स्वीकार्य है) आउटपुट है, तो इमेजमैजिक बहुत अच्छा है, लेकिन अन्यथा यह एक बुरा विकल्प है, क्योंकि यह प्रभावी रूप से पीडीएफ में जो कुछ भी आप परिवर्तित करने की कोशिश कर रहे हैं का एक rasterized संस्करण में एम्बेड करता है। Svg / pdf का पूरा बिंदु यह है कि इसे वेक्टराइज़ किया जा सकता है, जिससे आकार छोटा होता है, जबकि किसी भी रिज़ॉल्यूशन पर यह चिकना रहता है।
इसलिए, मैं निश्चित रूप से Inkscape या CarioSVG का उपयोग करने की सलाह दूंगा । उत्तरार्द्ध में इस उद्देश्य ( और svg2pdf, ) के लिए कई कमांड लाइन उपयोगिताएं हैं । केवल अड़चन यह है कि यह मूल रूप से सिर्फ एक अजगर का अंडा है, इसलिए यदि आपके पास एक अजगर वातावरण स्थापित नहीं है और एक को स्थापित करने के लिए पर्याप्त नहीं है (या पर्याप्त देखभाल नहीं करते हैं), तो वह विकल्प नहीं है जाओ। मैंने खुद कोशिश की, लेकिन समस्याओं को स्थापित करने में समस्या थी (ऐसा नहीं है कि मैंने बहुत कोशिश की )।svg2pssvg2pnglibcairo
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के लिए उन पर अमल करें, और उछाल दें! आपके पास अक्सर इन वांछित कार्यों के लिए एक त्वरित और आसान शॉर्टकट है जो आपको सोचने या याद करने की आवश्यकता नहीं है कि इंकस्केप का सीएलआई कैसे काम करता है। (स्पष्ट रूप से आपको काम करने से पहले इन्क्सस्केप की आवश्यकता होगी)
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दूर तक जीतता है। यह उन गूढ़ स्वरूपों से परिवर्तित करने में भी सक्षम है जिन्हें आप जानते भी नहीं थे, और उन पर अधिक प्रभाव लागू करते हैं, तब आपको कभी भी आवश्यकता होगी।
convertImageMagick के लिए एक कमांड-लाइन टूल है।
इंकस्केप
पीडीएफ के लिए:
inkscape -A a.pdf a.svg
पीएनजी के लिए:
inkscape -e a.png a.svg
पर पाया man inkscapeऔर कमांड लाइन मोड में इंकस्केप का उपयोग कैसे करें
जैसा कि मुझे पता है, cmd के माध्यम से Inkscape को संचालित करने का एक तरीका है - मैंने पहले से ही अपने विशाल SVG संग्रह से बैच निर्यात PNG थंबनेल के लिए कुछ इसी तरह का उपयोग किया है। जैसा कि इंकस्केप भी काहिरा के माध्यम से पीडीएफ निर्यात का समर्थन करता है, पीडीएफ को भी निर्यात करना संभव होना चाहिए। मैं कुछ Inkscape फोरम पर पूछूंगा। :-)
mogrify -format pdf -- *.svg