2008-11-03 7 views
6

내 응용 프로그램에서 Postscript에 데이터를 저장하면 GhostView에서 문제없이 볼 수있는 포스트 스크립트 파일이되지만 인쇄하려고하면 올바르지 않아서 인쇄 할 수 없습니다.포스트 스크립트를 인쇄하지 않고 유효성을 검사하려고합니까?

Postscript 파일의 오류를 프린터에 실제로 보내지 않고 유효성을 검사하거나 오류를 찾을 수 있습니까? Preferred는 Java API/라이브러리 일종이지만, 똑같은 프로그램도 괜찮을 것이다.


편집 # 1 : 아니, 난 그것이 잘못된 이유를 알고도하지 않아도 반드시이 유효하지만 고스트 뷰 외부에서 유효성을 검사하거나에서 무슨 일이 일어나고 있는지 알아낼 수있게하려면 인쇄 할 수 없습니다.


대답 : 음 나는 포스트 스크립트가하는 출력을 볼 수 있었다 ps2ps 트릭을 사용하고 차이가 확인. 차이점은 Postscript에서 이미지의 너비 나 높이에 10 진수를 사용할 수 없지만 정수 만 사용할 수 있다는 것입니다. 그래서 나는 여전히 유효성을 검사 할 방법을 찾지 못했지만이 방법은 내 문제에 대해 충분했다. 감사.

답변

3

ghostview에서 볼 수 있으면 고스트 스크립트가 구문 분석 할 수 있음을 의미합니다.

그래서, 하나의 트릭 당신이 인쇄에 사용 시도해 볼 수도 있습니다 (실제로 확인하지 않는) 파일은 주로 -sDEVICE=pswrite을 추가 그것에 대한 ps2ps라는 래퍼가있다 (고스트 스크립트의 포스트 스크립트 출력 모드를 사용하는 것, ps2ps2도있다 -sDEVICE=ps2write을 사용합니다).

4

왜 이것이 유효하지 않습니까?

나의 제안은 Ghostscript/Ghostvoiew에게 먹이를 주었을 것이지만, Ghostview가 그것을 볼 수 있다면, 적어도 일부 통역사는 그것이 유효한 Postscript라고 생각할 것입니다.

Ghostscript에서 허용하는 PS 내용이 까다롭거나 프린터 (파일 시스템, 아마도)에 존재하지 않거나 메모리 제한을 초과하는 내용에 액세스하는 것이 프린터 특유의 것일 수 있습니다. 그 중 하나가 인쇄합니까 : 나 ...

점은 잘못된 PS 프로그램과는

편집 도움이되지 않을 수도 있습니다 검증 할 수 있도록 라이브러리/API되지 않을 수있는? 다른 제조업체의 프린터 (또는 Postscript 인터프리터의 공급 업체)를 사용해 보셨습니까? Ghostview는 어떤 경고 또는 오류를주고 기록합니까?

문서는 어디에서 유래 되었습니까?

문서의 다른 인스턴스를 생성 할 수 있습니까? 프린터에 사용되는 특정 인터프리터에 대한 액세스를 제공하는 API가 아니라면

(즉 또한 오류를 제공하는 경우 예를 들면 정말 간단/빈 하나를보고), 나는 당신 있습니다가 (다른 PS 인터프리터에 대해 고스트 그것을 확인하는 생각).

아마 다른 비 GS를 기반으로 한 액세스를 얻기 세계에서 많은 PS 클론,이 아니기 때문에

Edit2가 쉽지 않을 것입니다 :이 링크 (꽤 오래된 정보 경우) 정보를 제공합니다 http://www.quite.com/ps/errors.htm

7

사실 나는 "nullpage"장치 사용의 렌더링 된 페이지의 이미지를보고하지 않고 고스트 스크립트를 사용하여 포스트 스크립트 파일을 검증해야 할 때마다 :

문제의 경우
gswin32c^
    -sDEVICE=nullpage^
    -dNOPAUSE^
    -dBATCH^
    c:/path/to/file/to/be/validated.pdf-or-ps^
    1>validated.stdout^
    2>validated.stderr 

, 비있을 것이다 -zero %errorlevel%이 설정되고 validated.stderr 로그 파일에는 렌더링 중에 Ghostscript가 유출되는 모든 메시지가 포함됩니다.