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.