FLOSS में कमांड लाइन पर greyscale में एक PDF कन्वर्ट करें?


81

मेरे पास एक कलर पीडीएफ फाइल है, और मैं इसे प्रिंट करने जा रहा हूं और फिर इसे ब्लैक एंड व्हाइट में फोटोकॉपी करूंगा। मैं यह जानना चाहता हूं कि यह फोटोकॉपी करने से पहले B & W में क्या है। क्या मुफ्त सॉफ्टवेयर का उपयोग करके कमांड लाइन पर एक पीडीएफ को 'greyscale' करना संभव है? मैं उबंटू का उपयोग कर रहा हूँ 9.10।

जवाबों:


36

ImageMagick ऐसा कर सकते हैं।

convert -colorspace GRAY color.pdf gray.pdf

इस ईमेल के माध्यम से


27
इससे गुणवत्ता में काफी कमी आती है। @goyinux 'समाधान बेहतर है।
जोहान्स वीस

7
कन्वर्ट वास्तव में पीडीएफ की सामग्री को व्यवस्थित करेगा। इसलिए जब तक पीडीएफ पहले से ही केवल रेखापुंज छवियों (जैसे एक स्कैन किए गए दस्तावेज़) को एनकोड करता है, यह दृष्टिकोण एक बड़ा नहीं-नहीं है।
m000

2
जब तक आप -density 400 -quality 100मापदंडों का उपयोग नहीं करते हैं - जो कि अच्छी तरह से काम करता है
बुर्टेक डे 13'15

2
वास्तव में, वहाँ कुछ भी है ImageMagick नहीं कर सकते हैं? :)
BalinKingOfMoria

-density 400 -quality 100बड़ी फ़ाइलें बनाता है। @ Goyinux के समाधान के लिए +1।
स्टेनिमीर स्टोआनोव

155

बेहतर:

gs \
 -sOutputFile=output.pdf \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -dProcessColorModel=/DeviceGray \
 -dCompatibilityLevel=1.4 \
 -dNOPAUSE \
 -dBATCH \
 input.pdf

1
सहमत, यह कन्वर्ट की तुलना में बहुत बेहतर परिणाम देता है, लेकिन कभी-कभी यह पीडीएफ को घुमाता है जो कि थोड़ा परेशान है!
tdc

9
बस आप महसूस कर सकते हैं कि-dAutoRotatePages=/None
tdc

1
मैंने सिर्फ 58MB पीडीएफ पर इस कमांड को चलाया, जो पहले से ही ग्रेस्केल (एक स्कैनर से आया) था और परिणामस्वरूप आउटपुट 10 एमबी था और बिल्कुल एक जैसा दिखता था। अच्छा!
आर्ची

1
विंडोज पर भी अच्छा काम करता है! बस `\ _ को हटा दें और सब कुछ एक ही लाइन पर रखें।
ixe013

1
वास्तव में, यह इस त्रुटि के साथ विफल होता हैGPL Ghostscript 9.10: Unable to convert color space to Gray, reverting strategy to LeaveColorUnchanged.
jjmerelo

13

यहाँ एक छोटी स्क्रिप्ट है जो ग्रेस्केल रूपांतरण के अलावा कई इनपुट फाइलों को समाप्‍त कर सकती है। स्क्रिप्ट का उपयोग करने के लिए, निम्नलिखित पंक्तियों को एक फ़ाइल में रखें, जैसे "Convert2gray.sh"

#!/bin/bash
gs -sOutputFile=converted.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dCompatibiltyLevel=1.4 -dNOPAUSE -dBATCH $@

और इसे निष्पादित करें

chmod +x convert2gray.sh

फिर

./convert2gray.sh input1.pdf input2.pdf … lastinput.pdf

एक एकल पीडीएफ "Convert.pdf" का उत्पादन करेगा, जिसमें इनपुट फ़ाइल से सभी पृष्ठ ग्रेस्केल में परिवर्तित हो जाते हैं।

मुझे सभी ग्रेस्केल में म्यूटेंट फाइल को प्रिंट करना था और यह सबसे आसान तरीका लगा, क्योंकि आप एक कमांड के साथ सब कुछ प्रिंट करने के बाद प्रिंट कर सकते हैं।


FWIW, pdftk पीडीएफ को भी परिवर्तित कर सकता है।
user1338062
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.