web-dev-qa-db-ja.com

GhostScriptはサイレントモードでネットワークプリンターに印刷します

コマンドラインからネットワークプリンターにサイレントモードでPDFを印刷しようとしています。
残念ながら、GhostScriptはWindowsプリンタダイアログを開きます。

_Windows 2008 R2 Server_を使用しています。

私のコマンドは:

gswin64c.exe -dBATCH -dNOPAUSE -dNumCopies=1 -sDEVICE=mswinpr2 -sOutputFile="%printer%MEasyCoder PC4 (203 dpi) on aino1" "pdf.pdf"

プリンター名はMEasyCoder PC4 (203 dpi) on aino1で、_AINO1_コンピューターに接続されているネットワークプリンターです。

プリンタダイアログは次のようになります。

Windows printer dialog

プリンタパネルでは、次のようになります。 Printer control panel

このダイアログを避けて静かに印刷するための正しいコマンドラインは何ですか?

6
Lari13

GhostScriptを使用する gsprint を使用します。印刷機能のためにGhostGumによってビルドされた古いバージョン5を ダウンロード する必要があります。デフォルトのインストール設定を使用する場合、gsprintは次の場所にあります:_C:\Program Files\Ghostgum\gsview_

あなたの例のために:

gsprint -printer "\\ain01\MEasyCoder PC4 (203 dpi)" -dPDFFitPage "pdf.pdf"

2
Bobort

Ghostscript出力デバイスの詳細によると、MS Windowsプリンター

Windowsプリンター名が-sOutputFileで"%printer%printer_name"の形式を使用して指定されている場合、次に例を示します。

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

次に、Ghostscriptはプロンプトを表示せずにWindowsプリンターを開こうとします(もちろん、プリンターがFILE:に接続されている場合を除く)。 Ghostscriptは、Windowsプリンターのページサイズと向きをGhostscriptが期待するものと一致するように設定しようとしますが、常に成功するとは限りません。このアルゴリズムを使用します:(ここでは引用していません)

サンプルコマンドは( source ):

gswin64c.exe -sDEVICE=mswinpr2 -dBATCH -dNOPAUSE -sOutputFile="%printer%\\printServer\printerNameWith Spaces" testprinter.ps
1
harrymc

GhostScript(gswin32c.exe)を使用してサイレントモードでネットワークプリンタに印刷する正しい方法は、\\スプール\を使用してから、sOutputで完全なUNCパスを使用することです。すべてのパラメーターは大文字と小文字を区別します。また、必ず二重引用符を含めてください。

gswin32c.exe  -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=1 -sDEVICE=mswinpr2 -sOutputFile="\\spool\\\SRV-SBS01\iR-ADVC5030_PS_BW" "C:\Windows\Temp\~Packlist.pdf"
1
Jan H