2013-04-12 2 views
1

배치 스크립트를 사용하여 Ghostscript 9.07을 사용하여 PDF 파일을 색상에서 회색으로 변환하고 있습니다. 스크립트가 작동하고 첫 페이지에만 색상에서 회색으로 변환됩니다. 시도한 모든 PDF (12 PDF)에서 전환 전략은 첫 페이지 이후에 색상을 변경하지 않고 되돌립니다.고스트 스크립트를 사용하는 한 페이지 뒤의 색상 변환 오류

스크립트 :

C:\working-environment\gs9.07\bin\gswin64c -o C:\Test\converted.pdf -sDEVICE=pdfwrite -dLastPage=20 -dColorConversionStrategy=/Gray -dProcessColorModel=/DeviceGray C:\Test\original.pdf 

참고 : 내가 관리자로 윈도우 7 PC에서 스크립트를 실행하고 있습니다. 내가 긴 PDF (500+ 페이지)를 가지고 있기 때문에 -dLastPage 매개 변수가 설정되었습니다.

오류 :

Unable to convert color space to Gray. reverting strategy to LeaveColorUnchanged. 

참고 : 내가 너무 성능을보고 싶어하기 때문에 내가 오라클과 위해 Postgress 매뉴얼을 사용했다.

답변

2

거의 확실하게 '후속 페이지'는 메시지가 귀하에게 알리는 바와 같이 DeviceGray로 변환 할 수없는 색상 공간을 사용하고 있습니다. 파일을 보지 않고 (예를 들어 실제로 500 + 페이지 파일을 원하지 않음) 어떤 문제를 일으키는 지 말할 수 없습니다. 이것을 보여주는 작은 파일을 만들 수 있다면 그것을 살펴볼 것입니다.

경고는 경고가 아닙니다. 경고입니다. 오류로 인해 작업이 중단됩니다.

Ghostscript의 다음 릴리스에서 새로운 색상 관리가 더 이상 발생하지 않음을 의미합니다.

이 파일이 첫 페이지에 경고를 제공 나를 위해

[편집]

, 나는 현재 코드 또는 릴리스 9.07을 사용하는지 여부에 상관없이. 색상 공간의 문제는 페이지 내용에서 늦게 발생하기 때문에 이전의 모든 내용은 실제로 회색으로 변환되지만 이후 내용은 그렇지 않습니다.

이 문제는 PDF 파일이/Separation/All 색 공간을 사용하여 페이지에 '프린터 표시'를 그리기 때문에 발생합니다. 현재 코드는/Separation 색상 공간을 변환 할 수 없으며 색상 공간을 보존 할 수 없으므로 '색상을 변경하지 않음'으로 되돌립니다. 프린터 표시가 페이지의 마지막 항목이기 때문에/All은 모든 판을 표시하므로 검은 색으로 보이기 때문에 페이지 전체가 변환 된 것처럼 보이지만 그렇지 않습니다.

파일을 3 개의 개별 페이지로 나누면 3 개의 개별 '올바른'페이지가 표시되지만 실제로는 각각이 부분적으로 변환되어/Separation/All에 여전히 프린터 표시가 포함됩니다.

Ghostscript Git 저장소의 현재 코드가 새 CMS 체계를 사용하도록 설정되면 경고없이이 파일을 변환하고 다중 페이지 파일을 표면 상 정확하게 처리하지만이 코드는 아직 불완전합니다. GS 9.08과 함께 릴리스되어야합니다.

+0

귀하의 빠른 답변을 주셔서 감사합니다, 여기 https://www.dropbox.com/s/fghiwjbyk619va2/test합니다 ([시험 PDF]입니다 .pdf) - 단 3 페이지.모든 페이지를 하나의 파일로 분할하면 단일 파일을 변환 한 다음 다시 한 파일에 병합하지만 작동하면 가장 효과적이며 최고의 솔루션이 될 수 없습니다. 전체 문서에서 스크립트를 실행하면 SUCESSFULLY 첫 페이지로 변환 한 후에 색 변환 전략이 되돌아와 색이 변경되지 않습니다. –

+0

@ michael.niix PDF가 존재하지 않으므로 소스를 사용하여 이러한 대답을 확인할 수 없습니다 – baxx

3

Ghostscript 9.06에서도 같은 문제가있었습니다. pdftops -level3sep을 사용하여 문서를 Ghostscript로 전달하기 전에 문서를 CMYK 색상으로 변환하면 해결됩니다. bash는 예 : 또한

gs -o converted.pdf -sDEVICE=pdfwrite -dColorConversionStrategy=/Gray \ 
    -dProcessColorModel=/DeviceGray <(pdftops -level3sep input.pdf -) 

시도 :

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH \ 
    -dAutoRotatePages=/None -dUseCIEColor -sOutputFile=output.pdf input.pdf 
+0

gs 9.10에서 같은 문제가있었습니다. 당신의 대답이 저를 구 했어요. 고맙습니다! –

+0

이 둘 중 하나도 나를 위해 일하지 않았다. 우분투 14.04와 고스트 스크립트 9.10. – baxx

+0

아마도 버그 보고서를 열려고합니다. 부분적인 솔루션/해결 방법/kludges에 대한 주조는 작동하기에 좋은 방법이 아닙니다. 문제가 있다면 이해하고 수정해야합니다. 나는 파일을 보지 않고는 그것을 할 수 없다. 그러나 가장 먼저해야 할 일은 ** 현재 버전의 Ghostscript 인 9.16으로 업데이트하는 것입니다. 9.10은 2 살이며보고 된 버그가 수정되었습니다. – KenS