Quantcast
Channel: SCN : Popular Discussions - SAP Crystal Reports & BI Dashboards (日本語) [Read-only]
Viewing all articles
Browse latest Browse all 2234

WinForm からレポートをプリンタに出力した際に、余白(PageMargins)に設定した値が正しく適用されない。

$
0
0

初めて投稿致します。秋本と申します。

 

 

WinForm から CrystalReports2008 で作成したレポートを印刷する際に

余白(PageMargins)に設定した値が正しく適用されないという現象が発生しており、対応策をご教示ください。

 

 

【開発環境】

 Microsoft Windows XP ver 2002 Service Pack 3

 Microsoft VisualStudio 2008 ver 9.0.30729.1 SP (C#を使用)

 Microsoft .NET Framework ver 3.5 SP1

 Crystal Reports 2008 Developer ver 12.2.7.598

 

 検証用のPCにOSをインストールし、VisualStudio 2008 をインストール後

 Microsoft Update にて 2010-05-18  時点でリリースされている全ての更新プログラムをインストール

 その後で Crystal Reports 2008 をインストールし、Crystal Reports 2008 の Service Pack 1、Service Pack 2、

 Fix Pack 2.7 を順にインストールしました。

 

 プリンタは以下の3台

 Epson LP-8900 (ドライバは 3.16.4fm)

  http://www.epson.jp/dl_soft/readme/6653.htm

  

 XEROX DocuCenter Color f250 (ドライバは 2.6.3)

  http://www.fujixerox.co.jp/download/dcc/download/f450series/artex_2k/

  

 XEROX DocuPrint210 (ドライバは 3.8.6)

  http://www.fujixerox.co.jp/download/docuprint/download/210series/prt_2k/

 

 

【実行環境】

 同上

 

 

【再現手順】

 VisualStudio 2008 で新規に WIndowsフォームアプリケーションを作成

 フォームに CrystalReportsViewer と ボタンを設置

  

 新しい項目として Crystal レポート を追加

 CrystalReportsギャラリから、空のレポートを選択

 詳細以外のセクションを非表示に設定

 詳細セクションのセクションエキスパートで背景色に銀色を設定

 詳細セクションの Height を 16771 に設定

 デザイン>ページ設定のページオプションで

 「書式設定ページサイズと用紙サイズを個別に設定する」のチェックを外し

 用紙サイズを「A4 210 x 297 mm」に設定

 余白は上下左右すべて 0 に設定

 詳細セクションの左上、右上、左下、右下に何か適当に文字の入ったテキストオブジェクトを配置

 

 ボタンの押下イベントに以下を記述

 

 private void button1_Click(object sender, EventArgs e)

 {

   CrystalReport1 report = (CrystalReport1)crystalReportViewer1.ReportSource;

    

   CrystalDecisions.Shared.PageMargins margins = new CrystalDecisions.Shared.PageMargins();

 

   margins.topMargin = 0;

   margins.bottomMargin = 0;

   margins.leftMargin = 0;

   margins.rightMargin = 0;

 

   report.PrintOptions.ApplyPageMargins(margins);

    

   crystalReportViewer1.RefreshReport();

    

   report.PrintToPrinter(0, false, 1, 1);

 }

 

 上記イベント内に任意の余白を設定して、WinForm を実行後にボタン押下

 

 

【発生する現象】

 u2026要はA4用紙全体を塗りつぶすだけのレポートに、上記イベント内で PageMargins を設定して

 プリンタへ出力するわけですが

 CrystalReportViewer 上では設定した余白(PageMargins)が忠実に反映されるのですが、実際にプリンタから

 出力されたものを確認すると

  

 leftMargin だけ設定した場合 > 左に余白ができず、上と右に余白ができる

 topMargin だけ設定した場合 > 上に余白ができず、左と下に余白ができる

 

 という具合に余白(PageMargins)で設定した値とは違う印刷結果になってしまいます。

 

 Re: HELP - setting page margins doesn`t work correctly

 

 上記スレッドの内容からすると SP3 がリリースされるまで待つしかないのでしょうか?


Viewing all articles
Browse latest Browse all 2234

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>