자동 모드에서 고스트스크립트로 인쇄하는 방법

자동 모드에서 고스트스크립트로 인쇄하는 방법

포스트스크립트 문서를 인쇄하기 위해 다음 Ghostscript 명령을 사용하고 있습니다.

C:\Program Files\gs\gs9.14\bin>gswin64c.exe -sDEVICE=mswinpr2 testprinter.ps

이 명령은 프린터를 변경하고, 인쇄 범위 및 매수를 지정하고 확인 및 취소 버튼을 사용할 수 있는 인쇄 대화 상자를 엽니다.

그러나 내 요구 사항은 Ghostscript가 인쇄 대화 상자를 억제하고 자동으로 인쇄하도록 하는 것입니다.

자동으로 인쇄할 수 있는 명령 스위치가 있습니까? 따라서 명령을 실행하면 프린터가 이를 인쇄할 수 있습니다.

Google이나 인터넷에서 사용할 수 있는 기타 다양한 Ghostscript 문서로부터 어떤 정보도 얻을 수 없었습니다. 그래서 친절하고 지식이 풍부한 분들에게 확인해 보고 싶습니다.슈퍼유저지역 사회.

답변1

에서 추출됨고스트스크립트 문서, MS Windows 프린터

-sOutputFile에 Windows 프린터 이름이 지정되지 않은 경우 Ghostscript는 표준 인쇄 설정 대화 상자를 사용하여 Windows 프린터를 묻는 메시지를 표시합니다. ...

예를 들어 Windows 프린터 이름이 "%printer%printer_name" 형식을 사용하여 -sOutputFile에 지정된 경우

gs ... -sOutputFile="%printer%Apple LaserWriter II NT" 

그런 다음 Ghostscript는 메시지를 표시하지 않고 Windows 프린터를 열려고 시도합니다(물론 프린터가 FILE:에 연결된 경우는 제외).

최종 프로세스의 작동 방식에 따라 -dBATCH-dNOPAUSE스위치 도 필요할 수 있습니다.

노트: %printer%는 Ghostscript의 리터럴이지만 구문은 변수 읽기 작업으로 cmd간주되는 파서 와 충돌합니다.%printer%

배치 파일 내에서 백분율 기호를 두 배로 늘려( %%printer%%) 이스케이프할 수 있지만 명령줄 모드에서는 따옴표로 묶인 문자열 안에 있는 경우 백분율 기호를 이스케이프할 수 있는 방법이 없습니다(문서에 표시된 대로 공백을 처리하는 데 필요함). 인수).

명령줄 모드에는 두 가지 대안이 있습니다:

  • 환경 변수가 존재하지 않는지 확인하십시오 printer(존재하지 않는 경우 읽기 작업이 실행되지 않고 %printer%최종 실행된 명령에 리터럴이 유지됩니다).
  • 읽기 작업이 실행될 때 결과 명령이 정확하도록 일부 환경 변수를 정의합니다.

몇 가지 명령줄 예:

rem ensure the variable does not exist
set "printer="
gs ... -sOutputFile="%printer%Apple LaserWriter II NT"

rem store the full literal
set p=%^printer%
gs ... -sOutputFile="%p%Apple LaserWriter II NT" 

rem store the percent sign
set "p=%"
gs ... -sOutputFile="%p%printer%p%Apple LaserWriter II NT"     

관련 정보