PDF帳票印刷サーバ

PDF帳票印刷サーバのWindows Server 2003からWindows Server 2008 R2 / 2012 R2に移行検討の中で、PDFツール SumatraPDFを見つけた。

帳票印刷サーバに、安定性、サポート体制、潤沢な開発システム費用があればウイングアークのSVF一択なのですが、それほどの規模もぜんぜんなく、簡単なPDFファイルを指定のプリンターに印刷するシステムを構築したい場合、以前 アクロバットリーダー AcroRd32.exeを呼び出して印刷していました。

“C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe” /h /s /t “C:\app\pdfserver\spool\1_TEST_Canon LBP9200C.pdf” “Canon LBP9200C”

これで印刷は十分できるのですが、いかせんGUIツールですので、サービスプログラムから起動したプロセスから更にAcroRd32.exeをCreate呼び出しても印刷できませんでした。
(GUIツールでもサービスから動作するものもあります。)
ですので、スタートアップに登録して、ログイン状態でないと使えませんでした。

今回、Sumatra PDFというPDF表示、印刷ツールを見つけました。
ソースコード付ですのでカスタマイズも可能です。(すばらしい。)ライセンスは、 GNU General Public License version 3.0 (GPLv3)です。

http://sourceforge.net/projects/sumatrapdf.mirror/
https://code.google.com/p/sumatrapdf/downloads/list

サービスプログラムから起動したプロセスからSumatraPDF.exeをCreate呼び出して試して見たところ、問題なく指定のプリンターに印刷できました。

“C:\apps\SumatraPDF.exe” -exit-on-print -print-to “Canon LBP9200C” “C:\apps\pdfserver\spool\1_TEST_Canon LBP9200C.pdf”

※-exit-on-print -print-toでダイアログ表示無しでサイレントで実行できます。
※デフォルトプリンターへ出力したい場合は、-print-to-default

次回の案件より、簡単なPDF帳票印刷サーバが必要な時はSumatraPDFでシステム構築提案したいと思います。

以上、メモ。