次のGhostscriptコマンドを使用して、ポストスクリプトドキュメントを印刷しています。
C:\Program Files\gs\gs9.14\bin>gswin64c.exe -sDEVICE=mswinpr2 testprinter.ps
このコマンドは、プリンタを変更したり、印刷範囲とコピーを指定したり、Ok]ボタンと[キャンセル]ボタンを使用したりできる[印刷]ダイアログを開きます。
ただし、私の要件は、Ghostscriptを[印刷]ダイアログを抑制してサイレントに印刷することです。
静かに印刷できるコマンドスイッチはありますか?したがって、コマンドを発行するだけで、プリンターがそれを印刷します。
Googleやインターネットで入手できる他のさまざまなGhostscriptドキュメントから情報を取得できませんでした。ですから、フレンドリーで知識豊富なスーパーユーザーコミュニティに確認したいと思います。
ghostscriptドキュメント から抽出、MSWindowsプリンター
-sOutputFileでWindowsプリンター名が指定されていない場合、Ghostscriptは標準の[印刷設定]ダイアログボックスを使用してWindowsプリンターの入力を求めます。 .。
たとえば、Windowsプリンター名が「%printer%printer_name」の形式を使用して-sOutputFileで指定されている場合
gs ... -sOutputFile="%printer%Apple LaserWriter II NT"
次に、Ghostscriptはプロンプトを表示せずにWindowsプリンターを開こうとします(もちろん、プリンターがFILEに接続されている場合を除く:)
最終プロセスの動作方法によっては、-dBATCH
および-dNOPAUSE
スイッチも必要になる場合があります。
notes:%printer%
はGhostscriptのリテラルですが、構文は%printer%
を参照するcmd
パーサーと衝突します。変数読み取り操作として。
バッチファイル内では、パーセント記号を2倍にすることでエスケープできます(%%printer%%
)が、コマンドラインモードでは、引用符で囲まれた文字列内にある場合、パーセント記号をエスケープする方法はありません(ドキュメントに示されているように、引数のスペースを処理するために必要)。
コマンドラインモードには、2つの選択肢があります。
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"