V4 V5

v4.6 から、ReoGrid の WinForms 版はワークシートを PDF に直接書き出せます。PDF 出力に必要な機能は ReoGrid に内蔵しているため、追加のライブラリやプリンタードライバーを使わずに出力を完結できます。

using unvell.ReoGrid.PDF;

ワークシートをエクスポート

PDFExporter.Export(grid.CurrentWorksheet, @"C:\Reports\sales.pdf");

ブック全体をエクスポート

複数のワークシートを渡すと、順に続けて 1 つの PDF にします。

// コントロールのすべてのワークシート
PDFExporter.Export(grid.Worksheets, @"C:\Reports\book.pdf");

// 指定したワークシートを、指定した順で
PDFExporter.Export(new[] { grid.Worksheets["Sheet1"], grid.Worksheets["Sheet3"] }, @"C:\Reports\summary.pdf");

印刷する内容のないワークシートはページを追加しません。

ストリームへエクスポート

using (var ms = new MemoryStream())
{
  PDFExporter.Export(grid.CurrentWorksheet, ms);
  byte[] pdf = ms.ToArray();   // メールの添付ファイルなどに
}

PDFExporter のメソッド

メソッド説明
Export(Worksheet sheet, string filePath)ワークシート 1 枚をファイルに出力
Export(Worksheet sheet, Stream stream)ワークシート 1 枚をストリームに出力
Export(IEnumerable<Worksheet> sheets, string filePath)複数のワークシートを 1 つのファイルに出力
Export(IEnumerable<Worksheet> sheets, Stream stream)複数のワークシートを 1 つのストリームに出力

ページのレイアウトは印刷設定に従います

PDF はワークシートを印刷したときとまったく同じレイアウトになり、印刷の 1 ページが PDF の 1 ページになります。印刷のための設定がすべて反映されます。

  • 印刷範囲と改ページ
  • 用紙サイズ・向き・余白(PrintSettings.PaperName・Landscape・Margins)
  • 倍率、またはページ数に合わせる設定(PageScaling・FitToPage)
  • ページの順序とページ中央への配置(PageOrder・CenterHorizontally・CenterVertically)
  • ヘッダーとフッター(Worksheet.HeaderFooter)
var sheet = grid.CurrentWorksheet;

sheet.PrintSettings.PaperName = "A4";
sheet.PrintSettings.Landscape = true;
sheet.PrintSettings.FitToPage = true;        // 横は 1 ページ、
sheet.PrintSettings.FitToPagesWide = 1;
sheet.PrintSettings.FitToPagesTall = 0;      // 縦は必要なだけ
sheet.HeaderFooter.OddFooter = "&C&P / &N ページ";

// 新しい設定で改ページを計算し直す
sheet.AutoSplitPage();

PDFExporter.Export(sheet, @"C:\Reports\sales.pdf");

まだページ分けをしていないワークシートは、エクスポート時に自動でページ分けします。すでにページ分けしたワークシートの印刷設定を変えた場合は、AutoSplitPage() を呼んで改ページを計算し直してください。各設定の詳細はページングと印刷をご覧ください。

PDF に出力される内容

  • セルの塗りつぶしと、すべての種類の罫線
  • フォント・サイズ・色・配置を反映したセルの文字(回転した文字、禁則処理つきで折り返す文字や改行を含む文字も含む)
  • セルの画像
  • 各ページのヘッダーとフッター

セル・罫線・文字はベクターと文字データのまま書き出すので、拡大しても鮮明で、PDF 内の文字は検索・選択・コピーができます。半透明の色もそのまま出力します。

フォント

ワークシートで使っているフォントを、文書で描いた文字だけに絞って埋め込みます。日本語フォントを含めても、増えるのは数 MB ではなく数十 KB です。セルのフォントにない文字は、画面と同じく日本語を表示できるフォントで描きます。

PostScript アウトラインの OpenType フォント(.otf、CFF)は埋め込めないため、そのフォントの文字は既定のフォントで出力します。

ライセンス

PDF 出力は印刷と同様に有効なライセンスキーが必要です。未設定の場合、Export は InvalidOperationException を投げます。ライセンスキーの設定をご覧ください。

サーバーで PDF を作る場合

PDFExporter は WinForms 版の機能で、デスクトップアプリの中で動作します。ASP.NET Core のサービスやバッチ処理、Linux のコンテナなど、画面を持たない環境で PDF を出力するには、Windows・Linux・macOS のヘッドレス環境で PDF を出力できる ReoGrid One V5 をお使いください。同じライセンスで両方をご利用いただけます。

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