- - PR -
ActiveReports印刷時の用紙サイズ設定について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-05-15 11:36
ただいまActiveReportsで帳票を作成しています。
PDFのプレビュー上では指定されたサイズになるのですが、 出力しようとしているプリンタの用紙サイズが 以前設定されたプロパティのままになっています。 ActiveReports上でプリンタの用紙サイズを強制的に制御することは できないのでしょうか? なお、ActiveReportsで設定している用紙サイズは「B4たて」で 使用しているプリンタは「NEC Multiwriter3650N」です。 | ||||
|
投稿日時: 2007-05-15 12:02
"以前設定された" の付近の詳細が必要です。 今回は、どのタイミングで '何から' 設定しているかが重要だからです。 たとえば、 プレビュー上のプリンタ設定ダイアログを使って値を設定した。 プレビューの印刷ボタンからの印刷では値が適用されて正しく印刷されている。 しかし、Print メソッドを使って自分で印刷命令を出すと値が適用されていない。 という意味であれば仕様です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-05-15 13:04
じゃんぬねっとさんへの回答>
今回の帳票では Public Class CShuNohinListR Private WithEvents mobjArp As DataDynamics.ActiveReports.ActiveReport Public Sub New(ByRef pobjDs As Dataset) mobjArp = New RShuNohinListR mobjArp.PageSettings.PaperKind = Drawing.Printing.PaperKind.B4JisRotated mobjArp.PageSettings.Orientation = DataDynamics.ActiveReports.Document.PageOrientation.Landscape End Sub Public Sub CreateReport() mobjArp.Run(True) End Sub Public Sub PDFExport(ByVal objMStream As System.IO.MemoryStream) Dim objPdfExp As New DataDynamics.ActiveReports.Export.Pdf.PdfExport objPdfExp.Export(mobjArp.Document, objMStream) objPdfExp = Nothing End Sub End Class 上記クラスで @newプロシージャでレポートの用紙サイズと向きを設定 ACreateReportプロシージャでActiveReportを走らせ BPDFExportプロシージャでPDFに出力 という手順をとっています。 Adobe Readerで表示すると、表示上ではサイズ・方向ともに 合っているのですが、Adobe Readerの「印刷」アイコンを押し 印刷ダイアログが表示された状態でダイアログの「(プリンタの)プロパティ」をクリックすると 用紙サイズが「A4」と表示されてしまいます。 プロパティを表示しないでそのまま印刷すると A4のサイズに縮小された状態で印刷されてしまいます。 そこで、プリンタの用紙サイズを強制的にB4に 設定できないかと考えているわけです。 | ||||
|
投稿日時: 2007-05-16 17:00
mobjArp.Document.PaperKind = Drawing.Printing.PaperKind.B4JisRotated
mobjArp.Document.Print() と記述してActiveReportから直接印刷命令を出すと プリンタの用紙サイズの設定は切り替わるのですが、 PDFにエクスポートした後にAdobe Readerのプレビューから 印刷設定ダイアログを表示すると ActiveReportでの設定が反映されず、 windowsのプリンタのプロパティで設定した 用紙サイズがそのまま表示されるわけです。 要はAdobe Readerで表示した時の 用紙サイズ設定をコーディングの段階で切り替えられればと思うのですが・・・ | ||||
|
投稿日時: 2007-05-16 17:25
あれこれ検索を使って調べましたら
参考になるページを見つけました。 ・Windows業務アプリケーション開発 Q&A #4 「A3サイズのPDF文書がA4用紙に印刷されてしまう」 http://www.atmarkit.co.jp/fdotnet/vblab/appqa_04/appqa_04_01.html コーディングによって直接PDFの印刷用紙サイズを指定するのは どうも無理なようですね・・・ | ||||
|
投稿日時: 2007-05-16 17:30
DataDynamics.ActiveReports.Export.Pdf.PdfExport クラスや、
DataDynamics.ActiveReports.Export.Pdf.PdfDocumentOptions クラスはご存知ですか? これ以上のことはできないような気がします。 プリンタ ドライバを通して PDF を作るのであれば、Document プロパティにある、 Printer プロパティ以降の値を変えれば (PDF 側の自動設定が) 適用されるようになるかもしれません。 (たぶんバージョン次第ですが) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1