FLOSS의 명령 줄에서 PDF를 그레이 스케일로 변환 하시겠습니까?


81

컬러 PDF 파일이 있는데 인쇄 한 다음 흑백으로 복사합니다. 복사하기 전에 흑백에서 어떤 모습인지 알고 싶습니다. 자유 소프트웨어를 사용하여 명령 행에서 PDF를 '회색조'할 수 있습니까? 우분투 9.10을 사용하고 있습니다.

답변:


36

ImageMagick이이를 수행 할 수 있습니다.

convert -colorspace GRAY color.pdf gray.pdf

이메일을 통해


27
품질이 크게 저하됩니다. @goyinux '솔루션이 더 좋습니다.
Johannes Weiss

7
Convert는 실제로 pdf의 내용을 래스터 화합니다. 따라서 pdf가 래스터 이미지 (예 : 스캔 한 문서) 만 캡슐화하지 않는 한,이 방법은 매우 중요합니다.
m000

2
당신은 사용하지 않으면 -density 400 -quality 100잘 작동 - 매개 변수
burtek

2
실제로 ImageMagick이 할 수없는 일이 있습니까? :)
BalinKingOfMoria 3

-density 400 -quality 100거대한 파일을 만듭니다. @goyinux의 솔루션에 +1.
Stanimir Stoyanov 2016

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
방금 회색조 (스캐너에서 제공) 인 58MB PDF 에서이 명령을 실행했으며 결과 출력은 10MB이며 정확히 동일하게 보입니다. 좋은!
Archie

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 "converted.pdf"를 생성합니다.

여러 개의 파일을 모두 그레이 스케일로 인쇄해야했고 이것이 하나의 명령으로 감염 후 모든 것을 인쇄 할 수 있기 때문에 가장 쉬운 방법이라는 것을 알았습니다.


pdftk는 PDF도 연결할 수 있습니다.
user1338062
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.