고스트 스크립트로 PDF를 흑백으로 변환


17

이 질문과 유사하게 :

FLOSS의 명령 행에서 PDF를 회색조로 변환 하시겠습니까?

나는 PDF 문서를 가지고 있으며 그것을 순수한 흑백으로 변환하려고합니다. 그래서 저는 하프 톤을 버리고 싶습니다. ghostscript로 그레이 스케일로 변환하려면 다음 명령을 사용할 수 있습니다.

gs \
 -sOutputFile=output.PDF \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -dProcessColorModel=/DeviceGray \
 -dCompatibilityLevel=1.4 \
  input.PDF < /dev/null

예 : 흑백으로 바꾸려면 무엇을해야합니까? 오직 흑백과 하프 톤이없는 색상일까요?

답변:


5

마지막 제안은 실제로 그레이 스케일로 변환 한 다음 기본 문서가 사용하는 경우에만 작동합니다. RGB 컬러 설정 . 내가 문서를 가지고 있었기 때문에 이것은 나를 위해 작동하지 않았다. 세트 컬러 .

나는 재정의에 성공했다. 세트 컬러 항상 색상을 0,0,0으로 설정하려면 :

gs -o <output-file.pdf> -sDEVICE=pdfwrite \
-c "/osetcolor {/setcolor} bind def /setcolor {pop [0 0 0] osetcolor} def" \
-f <input-file.ps>

포스트 스크립트 해킹을 한 지 15 년이 넘었으므로 위의 내용은 절름발이이거나 잘못되었거나 우발적 인 것일 수 있습니다. 더 잘하는 방법을 알고 있다면 제안하십시오.


3

다음 제안이 효과가 있을지 모르겠지만 시도해 볼 가치가 있습니다.

  1. 간단한을 사용하여 PDF를 포스트 스크립트로 변환하십시오. pdf2ps 유용
  2. 다시 정의 된 것을 사용하면서 해당 PostScript를 PDF로 다시 변환하십시오. /setrgbcolor 포스트 스크립트 연산자

다음은 명령입니다.

먼저

  pdf2ps color.pdf color.ps

이것은 당신에게 준다. color.ps 출력으로.

둘째

gs \
-o bw-from-color.pdf \
-sDEVICE=pdfwrite \
-c "/setrgbcolor{0 mul 3 1 roll 0 mul 3 1 roll 0 mul 3 1 roll 0 mul add add setgray}def" \
-f color.ps

나는 이것을 시험해 보았고 여전히 회색 음영을 남겼다. niklasfi는 단색을 원합니다.
frabjous

3

그것은 고스트 스크립트가 아니지만 imagemagick을 사용하면 매우 간단합니다.

 convert -monochrome input.pdf output.pdf

10
결과 PDF 품질은 원본보다 훨씬 나쁩니다.
Hindol

convert -monochrome -denisty 600 ?
Ilia w495 Nikitin

이것은 중간 색조를하는 것처럼 보입니다. 나는 어둠에 관계없이 모든 색 (그러나 흰색)을 검은 색으로 변환하기를 원합니다.
g.rocket



0

순수 흑백 PDF의 경우 추신을 위해 ps 형식으로 변환 한 다음 PDF로 변환해야합니다.

exec(" gs -sDEVICE=psmono  -dNOPAUSE -dBATCH -dSAFER  -sOutputFile=combined.ps  $pdf");

PDF 포스트 스크립트 - & gt; 검정색과 흰색

exec(" gs -sDEVICE=pdfwrite   -dNOPAUSE -dBATCH -dSAFER  -sOutputFile=file_pdf.pdf  filename.ps");
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.