質問で間違ったツリーを吠えている可能性があるので、問題の詳細な説明をしようと思います。
XML ファイルを取得して PDF を生成する Windows サービスがあります。次に、パラメーターを使用して生成された PDF を Ghostscript に出力し、その後に-sOutputFile="%printer%"
XML ファイルのデータに基づいてネットワーク プリンターの 1 つの名前を付けます。
以前は を使用-sDEVICE=mswinpr2
していましたが、これはサイズが約 70 ~ 80MB の印刷コマンドを生成していたため、ローカル ネットワーク上では特に役に立ちませんでした。複数のサイト用の中央印刷サーバーができたので、これらの不条理なファイルサイズを考えると、これらの PDF の印刷時間は天文学的なものになっています。
これらのファイルは、次を使用して生成されていました。
" -sDEVICE=mswinpr2 -sPAPERSIZE=a4" _
& " -dBATCH -dNOPAUSE -dSAFER -dNoCancel" _
& " -sOutputFile=""%printer%" & [somePrinter] & """"
私はGhostscriptの設定をいじっていましたが、次のGhostscriptコマンドを使用して、PNGで答えを見つけたと思いました:
" -sDEVICE=png16m -r600x600 -sPAPERSIZE=a4" _
& " -dBATCH -dNOPAUSE -dSAFER -dNoCancel -dQUIET" _
& " -sOutputFile=""%printer%" & [somePrinter] & """"
これは単一ページでは問題なく機能し、単一ページのドキュメントに対して約 150kb のデータしか生成しませんが、複数ページでは最初のページのみが印刷されます。プリンターの代わりにファイルに出力することでいくつかのテストを行ったところ、ある種の奇妙なマルチページ PNG が作成されていることがわかり、プリンターが混乱しているだけだと思います。
実際の質問:
ここでの唯一の本当の制約は、PDF ファイルを入力として受け取り、ユーザーの操作なしで小さなファイルサイズで直接プリンターに出力する必要があることです。
アイデアが不足しているため、これを実現する GhostScript 設定 (または GhostScript の代替) を誰かに勧めてもらえますか?