सर्वर साइड स्क्रिप्ट विधि
यहाँ (हालांकि यह सर्वर-साइड स्क्रिप्टिंग, जो आपकी आशा से अलग हो सकता का उपयोग करता है) png को svg तत्वों को बचाने के लिए एक सरल तरीका है।
जैसा कि लेखक द्वारा दस्तावेज किया गया है, क्लाइंट svg तत्व निकालें (XMLSerializer.serializeToString का उपयोग करके) और इसे सर्वर पर भेजें; सर्वर इसे पीएनजी में परिवर्तित करता है और इसे वापस ग्राहक को भेजता है। सर्वर किसी भी प्रोग्राम का उपयोग कर सकता है जो सुविधाजनक है (इस मामले में आरएसवीजी-कन्वर्ट)।
Canvg पुस्तकालय
आप ग्राहक के पक्ष (check it out!) पर यह करने के लिए इस लाइब्रेरी का उपयोग कर सकते हैं:
canvg is a SVG parser and renderer. It takes a URL to a SVG file or the text of an SVG file, parses it in JavaScript, and renders the result on a Canvas element
इस तरह यह प्रयोग करें:
//load a svg snippet in the canvas with id = 'drawingArea'
canvg(document.getElementById('drawingArea'), '<svg>... </svg>')
तो फिर तुम toDataURL विधि का उपयोग कर सकते हैं: document.getElementById('drawingArea').toDataURL('image/png');
क्रोम के साथ इसे कैसे करें इस पर एक उदाहरण दिया गया है: http://bl.ocks.org/3831266 – Duopixel
धन्यवाद! यह काम कर रहा है ... लेकिन जब मैं इलस्ट्रेटर में फ़ाइल खोलने की कोशिश करता हूं तो यह मुझे फ़ाइल को सत्यापित करने के लिए कहता है। मेरे पास यह संदेश है: यह svg अमान्य है। खुले से पहले मान्य करें। –
एक एक्सएमएल वैधता खोजें और सुनिश्चित करें कि यह वैध एक्सएमएल है। अगर सबकुछ ठीक लगता है, तो कोड को अपने प्रश्न में पोस्ट करें और मैं आपको त्रुटि खोजने में मदद कर सकता हूं जिससे इलस्ट्रेटर यात्रा कर रहा है। – Duopixel