作成日: 2026/10/01 最終更新日: 2026/10/01
文書種別
不具合
発生環境
.NET 8/10
状況
回避方法あり
詳細
セクションレポートを.NETで描画したとき、Windowsフォームとそれ以外(コンソール、Webアプリケーション)で改ページ位置に差異が発生する場合があります。
本現象は用紙サイズの寸法が僅かに異なるために発生しています。
Windowsフォームの場合、プリンタから用紙サイズの情報を取得するため、インチ単位の値が適用されます。
それ以外の場合、.NETではプリンタにアクセスできないため、ミリメートル単位の定義をインチ換算した値が適用されます。
- A4の例
- Windowsフォーム:8.27 x 11.69 inch
- コンソール:8.268 x 11.693 inch
なお、仮想プリンタ (PrinterName = "") を利用する場合は、Windowsフォームでも後者の値になります。
プリンタドライバは1/100インチ単位で用紙サイズを管理しているため、後者の値が適用される動作は、製品の不具合となります。
プリンタドライバは1/100インチ単位で用紙サイズを管理しているため、後者の値が適用される動作は、製品の不具合となります。
回避方法
実行環境がWindows OSの場合は、"System.Drawing.Common"を参照する方法で、Windowsフォームと同じ描画結果を得ることができます。
(1) プロジェクトのプロパティを開く
(2) ターゲットOSに”Windows"を指定
(3) "System.Drawing.Common" パッケージをインストール