मैं पीडीएफ फ़ाइल के पहले पृष्ठ को जेपीईजी में रास्टराइज करने के लिए घोस्टस्क्रिप्ट का उपयोग कर रहा हूं। Tempfiles बनाने से बचने के लिए, पीडीएफ डेटा Ghoscripts के stdin में पाइप किया गया है और जेपीईजी stdout पर "सूखा" है। यह पाइपलाइन एक आकर्षण की तरह काम करती है जब तक कि जीएस को अमान्य पीडीएफ डेटा प्राप्त नहीं होता है: जैसा कि मैंने अपेक्षा की थी, stderr पर सभी त्रुटि संदेशों की रिपोर्ट करने के बजाय, यह अभी भी कुछ संदेशों को stdout पर लिखता है।Ghostscript को मानक आउटपुट में त्रुटियों को लिखने से रोकें
पुन: पेश करने के लिए:
$ echo "Not a PDF" >test.txt
$ /usr/bin/gs -q -sDEVICE=jpeg -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 \
-r300 -sOutputFile=- - < test.txt 2>/dev/null
Error: /undefined in Not
Operand stack:
Execution stack:
...
नोट 2>/dev/null
ऊपर त्रुटि संदेश को दबाने नहीं है। घोस्टस्क्रिप्ट के दस्तावेज ने पहले से ही चेतावनी दी है कि stdout पर लिखने के लिए -q
ध्वज को stdout पर संदेशों को दबाने के लिए आवश्यक है, लेकिन मुझे अभी भी कुछ याद आ रहा है।
धन्यवाद, पाइपिटस - यह वही है जो मैं ढूंढ रहा था। मुझे स्पष्ट रूप से '-sstdout =/dev/null' निर्दिष्ट करना था, हालांकि,'% sstderr' वर्तमान निर्देशिका में एक समान नाम वाली फ़ाइल बनाएगा। भविष्य के संदर्भ के लिए, यहां पैच पर चर्चा करने वाली मूल मेलिंग सूची धागा है: http://www.ghostscript.com/pipermail/gs-code-review/2001- मार्च/2000273.html –
वहां पर एक टाइपो है। यह डबल s –
Thx, @EdwardB के बिना '% stderr' होना चाहिए, आप सही हैं। मैंने ठीक कर दिया। –