2008.03.17

ActiveReportによるPDF作成時の注意点

最近、帳票印刷に関してはまった事について書きたいと思います。

最近、使用した帳票ツールの一つに、ActiveReportがあります。
ActiveReportを使用していて、サーバ上で印刷ができないという現象が発生しました。
調べたところ、ActiveReportがPDFの印刷処理を行なう際に、
アプリケーションを実行しているマシンで、
「通常使うプリンタ」として設定されているプリンタの設定(用紙サイズ)を使用して、PDFを作成するようです。
つまり、プリンタが1つもインストールされていない場合、設定が読み取れずに例外が発生してしまいます。

その場合の対処法として、用紙サイズを「ユーザ定義の用紙」として認識させることです。
実際にはA4サイズで作られたとしていても、「ユーザ定義の用紙」として認識させることで、
プリンタの設定によらず、指定したサイズで印刷を行なうことが出来ます。

以下が、実際に試したコードです。

Dim rpt As New ActiveReportSample() '作成したレポート
rpt.DataSource = ... 'データを設定する
rpt.Document.Printer.PrinterName = "" 'プリンタの設定を使用しないようにする
rpt.PageSettings.PaperKind = _
System.Drawing.Printing.PaperKind.Custom '「ユーザ定義の用紙」として認識させる
rpt.Run(false) '実行

以上の様にすることで、プリンタがインストールされていないマシン上でも動作する様になりました。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
osano