के साथ एक पीडीएफ को एक पारदर्शी पीएनजी में कनवर्ट करें, मैं भूतलस्क्रिप्ट का उपयोग करने के लिए,पारदर्शी पृष्ठभूमि के साथ पीएनजी फ़ाइलों के लिए पारदर्शी पृष्ठभूमि के साथ पीडीएफ फाइलों को रास्टराइज़ करने का प्रयास कर रहा हूं। मेरे पास अन्य लोगों से प्रश्नों के लिए उच्च और निम्न खोजे गए हैं, जो और पोस्ट किए गए समाधानों में से कोई भी नहीं है, जहां तक मैं कह सकता हूं कि निर्दिष्ट करने के लिए नीचे -sDEVICE = pngalpha, मेरी टेस्ट फाइलों के साथ काम किया है। इस बिंदु पर मैं वास्तव में किसी भी सलाह या युक्तियों की सराहना करता हूं और अधिक अनुभवी हाथ प्रदान कर सकता है।GhostScript
मेरा परीक्षण पीडीएफ यहाँ स्थित है: http://www.kolossus.com/files/test.pdf
यह हो सकता है कि इस मुद्दे को इस फ़ाइल के साथ है, लेकिन मैं इसे संदेह है। जहां तक मैं बता सकता हूं, इसमें कोई निर्दिष्ट पृष्ठभूमि नहीं है, और जब मैं फ़ोटोशॉप या इलस्ट्रेटर जैसे पारदर्शिता-जागरूक ऐप के साथ फ़ाइल खोलता हूं, तो सुनिश्चित करें कि यह एक पारदर्शी पृष्ठभूमि के साथ प्रदर्शित करता है। हालांकि, जब एडोब रीडर जैसे एप्लिकेशन के साथ खोला गया तो फ़ाइल को एक सफेद पृष्ठभूमि के साथ प्रस्तुत किया जाता है। मेरा मानना है कि पीडीएफ को पीडीएफ के मुकाबले पीडीएफ प्रस्तुत करने वाले एप्लिकेशन के साथ और अधिक करना है - एडोब रीडर जैसे ऐप्स मानते हैं कि आप देखना चाहते हैं कि एक मुद्रित दस्तावेज़ कैसा दिखाई देगा और इसलिए हमेशा एक सफेद कैनवास दिखाएं कलाकृति - लेकिन मैं निश्चित नहीं हो सकता।
gs आदेश मैं उपयोग कर रहा हूँ है:
gs -dNOPAUSE -dBATCH -sDEVICE=pngalpha -r72 -sOutputFile=test.png test.pdf
यह एक PNG सीमांकन बॉक्स फ़ाइल में कलाकृति के के बाहर पारदर्शी पिक्सेल है कि पैदा करता है, लेकिन सभी पिक्सल कि कलाकृति के अंदर हैं बाउंडिंग बॉक्स एक सफेद पृष्ठभूमि के खिलाफ rasterized हैं। यह मेरे लिए समस्या है, क्योंकि मेरी कलाकृति में छाया और एंटीअलाइज्ड किनारों को छोड़ दिया गया है, जिन्हें अंतिम आउटपुट में संरक्षित होने की आवश्यकता है, और केवल ImageMagick के साथ पोस्टप्रोसेस्ड नहीं किया जा सकता है। मेरे पीएनजी आउटपुट का एक नमूना अंत में पीडीएफ के समान स्थान पर है, अंत में .png के साथ (stackoverflow मुझे मेरी पोस्ट में एक से अधिक यूआरएल शामिल नहीं करने देगा)।
दिलचस्प बात यह है कि, मुझे -dBackgroundColor ध्वज का उपयोग करने से कोई प्रभाव नहीं दिखता है, यहां तक कि यदि मैं इसे गैर-सफेद जैसे -DBackgroundColor = 16 # ff0000 पर सेट करता हूं। शायद इस झंडे के वाक्यविन्यास की मेरी समझ गलत है।
भी दिलचस्प बात यह है कि मुझे उप-पिक्सेल एंटीअलाइजिंग को सक्षम करने के लिए -dTextAlphaBits = 4 -dGraphicsAlphaBits = 4 झंडे का उपयोग करने से कोई प्रभाव नहीं दिखता है। मैं विशेष रूप से टेक्स्ट पर उप-पिक्सेल एंटीअलाइजिंग, को सक्षम करने के तरीके पर किसी भी सलाह की सराहना करता हूं।
अंत में, मैं GPL Ghostscript 8.64 उपयोग कर रहा हूँ मैक ओएस 10.5.7 पर, और प्रतिपादन कार्यप्रवाह मैं की स्थापना के लिये कोशिश कर रहा हूँ PrinceXML द्वारा पीडीएफ़ आउटपुट से पारदर्शी PNG छवियों उत्पन्न करने के लिए है। मैं ImageMagick का उपयोग करने के बजाय सीधे रास्टराइजेशन के लिए घोस्टस्क्रिप्ट को बुला रहा हूं क्योंकि ImageMagick पीडीएफ रास्टरराइजेशन के लिए घोस्टस्क्रिप्ट को प्रतिनिधि करता है और मुझे सीधे जीएस को कॉल करके बेहतर रास्टरराइजेशन को नियंत्रित करने में सक्षम होना चाहिए।
आपकी मदद के लिए धन्यवाद।
-Jon वोल्फ
बस इस उत्तर के लिए धन्यवाद कहना चाहता था। मैं 'जीएस 9.02' के साथ एक पीडीएफ को रास्टराइज़ करने की कोशिश कर रहा हूं, जो पारदर्शी भरने के साथ दो पीडीएफ का ओवरले है ('pdftk' के साथ किया गया); जब मैंने '-150' के साथ रास्टरराइज किया, तो मुझे केवल शीर्ष परत दिखाई दे रही है, जबकि नीचे लगभग अदृश्य है। इसे पढ़ने के बाद, मैंने '-dMaxBitmap = 2147483647' की कोशिश की, दुर्भाग्य से यह मेरे लिए काम नहीं किया - लेकिन फिर मैंने संकल्प को कम करना शुरू कर दिया, जब तक कि मुझे यह नहीं मिला कि '-r80' (मेरे मामले के लिए), आखिर में रंग प्रस्तुत किए जाते हैं ठीक से - जिसका शायद मतलब है कि यह वही स्मृति बग है। सौभाग्य से, 'गिंप' मेरे लिए काम किया। चीयर्स! – sdaau
बस कहना चाहता था कि पारदर्शी पीएनजी मेरे लिए ठीक काम करता है। मैं विंडोज पर GhostScript 9.19 और लिनक्स पर 9.06 का उपयोग कर रहा हूं। मैं इन विकल्पों का उपयोग कर रहा हूं: '-q -dquIET -dSAFER -dBATCH -dNOPAUSE -DNOPROMPT -dMaxBitmap = 500000000 -dAlignToPixels = 0 -dGridFitTT = 2 -sDEVICE = pngalpha -dTextAlphaBits = 4 -dGraphicsAlphaBits = 4 -r150'। मुझे नहीं पता कि उनमें से कोई भी कोई फर्क नहीं पड़ता है, यह सिर्फ मेरे लिए बॉक्स से बाहर काम करता है, इसलिए मैंने इसके साथ खेल नहीं लिया। – TheStoryCoder