V5 ドキュメントはプレビュー版です。正式リリース(2026 年 8 月 19 日)まで内容が更新されることがあります。
V4 V5

改ページの計算は UI に依存しないエンジンunvell.ReoGrid.Core.Printing)が行い、 PDF・WinForms・WPF がこれを共有します。どの出力先でも同じ結果になります。

ページ設定

using unvell.ReoGrid.Core.Printing;

ws.PrintSettings = new PrintSettings
{
	Paper = PaperKind.A4,
	Orientation = PageOrientation.Portrait,
	MarginLeft = 54,          // ポイント(72 pt = 1 インチ)
	MarginRight = 54,
	MarginTop = 54,
	MarginBottom = 54,
	PrintArea = RangePosition.Parse("A1:H60"),
	Scale = 1.0,
	CenterHorizontally = true,
	Order = PageOrder.DownThenOver,
	ShowGridLines = true,
	ShowHeaders = false,
};

用紙サイズ

PaperKindA5 / A4 / A3 / B5 / B4 / Letter / Legal / Tabloid / Executive / Custom です。

Custom の場合は CustomWidthPt / CustomHeightPt をポイントで指定します。

倍率とページ合わせ

ws.PrintSettings = new PrintSettings
{
	FitToPagesWide = 1,       // 横 1 ページに収める
	FitToPagesTall = null,    // 縦は成り行き
};

bool fit = ws.PrintSettings.IsFitToPage;

Scale は 10%〜400%(MinScale / MaxScale)。FitToPagesWide / FitToPagesTall のいずれかを指定すると、Scale より優先されます。

画面の表示倍率(control.Zoom)は印刷に影響しません。

改ページの規則

  • 行・列は分割されません。 Excel と同じく、収まらない行は次のページへ送られます
  • 非表示の行・列は幅・高さ 0 として扱われます
  • PageOrder はページを送る順序です(DownThenOver = 下方向優先、OverThenDown = 右方向優先)

ページ数を先に知る

// ページ数だけ知りたい場合(描画せずに計算できる)
PrintLayout layout = Paginator.Paginate(ws, ws.PrintSettings);
Console.WriteLine($"{layout.Pages.Count} ページ");

描画を伴わないため、プレビュー UI やバッチ処理で使えます。

出力先ごとの呼び出し

出力先呼び出し
PDFPdfExporter.Export(ws, path, settings)
WinFormscontrol.CreatePrintDocument(settings)PrintDocument.Print()
WPFcontrol.Print(settings)
Avalonia未対応(PDF 出力を使う)

WinForms 版は PrintDocument を返すため、標準の印刷ダイアログやプレビューにそのまま渡せます。

保存

PrintSettings は XLSX の <pageSetup> として往復します。Excel で開いても 同じ用紙・向き・余白になります。

未対応

  • 印刷タイトル(各ページで先頭行・先頭列を繰り返す)
  • ヘッダー・フッター(ページ番号など)
  • 印刷範囲のうち特定ページだけを出力する指定
  • シートごとの印刷設定の永続化(reogrid-json 側)

ウィンドウ枠の固定は画面表示のためのもので、印刷には影響しません (ウィンドウ枠の固定)。

次に読む

ページの内容は役に立ちましたか?