แปลง PDF เป็น greyscale บนบรรทัดคำสั่งใน FLOSS หรือไม่


81

ฉันมีไฟล์ PDF สีและฉันจะพิมพ์ออกมาจากนั้นก็ถ่ายสำเนาขาวดำ ฉันต้องการทราบว่าเป็นอย่างไรใน B&W ก่อนที่จะถ่ายสำเนา เป็นไปได้หรือไม่ที่จะ 'greyscale' PDF ในบรรทัดคำสั่งโดยใช้ซอฟต์แวร์ฟรี ฉันใช้ Ubuntu 9.10

คำตอบ:


36

ImageMagick สามารถทำได้

convert -colorspace GRAY color.pdf gray.pdf

ผ่านอีเมลนี้


27
ที่ลดคุณภาพลงอย่างมาก @goyinux 'ทางออกดีกว่า
Johannes Weiss

7
การแปลงจะทำให้เนื้อหาในรูปแบบ pdf เป็นแบบแรสเตอร์ ดังนั้นหากไฟล์ PDF นั้นใส่ในภาพแรสเตอร์เท่านั้น (เช่นเอกสารที่สแกนแล้ว) วิธีการนี้จึงเป็นเรื่องไม่ใหญ่โต
m000

2
เว้นแต่คุณจะใช้-density 400 -quality 100พารามิเตอร์ - ซึ่งทำงานได้ดี
burtek

2
จริง ๆ แล้ว ImageMagick ทำอะไรไม่ได้เหรอ? :)
BalinKingOfMoria

-density 400 -quality 100สร้างไฟล์ขนาดใหญ่ +1 สำหรับโซลูชันของ @ goyinux
Stanimir Stoyanov

155

ที่ดีกว่า:

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

1
เห็นด้วยซึ่งจะให้ผลลัพธ์ที่ดีกว่าการแปลง แต่บางครั้งมันหมุนไฟล์ pdf ซึ่งค่อนข้างน่ารำคาญ!
tdc

9
เพิ่งรู้ว่าคุณสามารถปิดการใช้งานด้วย-dAutoRotatePages=/None
tdc

1
ฉันเพิ่งรันคำสั่งนี้ใน PDF ขนาด 58MB ที่เป็นสีเทาแล้ว (มาจากสแกนเนอร์) และผลลัพธ์ที่ได้คือ 10MB และดูเหมือนกันทั้งหมด ดี!
อาร์ชี

1
ทำงานได้ดีบน Windows เช่นกัน! เพียงแค่ลบ `` `และวางทุกอย่างไว้ในบรรทัดเดียวกัน
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

จะสร้าง PDF "ที่แปลงแล้ว. pdf" หนึ่งไฟล์ซึ่งมีหน้าทั้งหมดจากไฟล์อินพุตที่แปลงเป็นสีเทา

ฉันต้องพิมพ์ไฟล์ mutliple ทั้งหมดในโทนสีเทาและพบว่าเป็นวิธีที่ง่ายที่สุดเนื่องจากคุณสามารถพิมพ์ทุกอย่างหลังจาก inpection ด้วยคำสั่งเดียว


FWIW, pdftk สามารถต่อ PDF เข้าด้วยกันได้เช่นกัน
user1338062
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.