PDF 出力は unvell.ReoGrid.IO.Pdf が担当します。外部パッケージに依存せずSystem.Drawing にも依存しないため Linux / macOS のサーバーでも動作します

V4 は印刷経由でしか PDF を作れませんでしたが、V5 は直接出力できます。

出力する

using unvell.ReoGrid.IO.Pdf;

PdfExporter.Export(wb, "book.pdf");              // 全シート
PdfExporter.Export(ws, "sheet.pdf");             // 1 シートだけ

byte[] bytes = PdfExporter.ExportToBytes(wb);    // ストリームで受け取る

ExportToBytes は Web API のレスポンスとして返す場合などに使います。

印刷設定を適用する

var settings = new PrintSettings
{
	Paper = PaperKind.A4,
	Orientation = PageOrientation.Landscape,
	ShowGridLines = false,
	FitToPagesWide = 1,
};

PdfExporter.Export(ws, "sheet.pdf", settings);

設定を省略するとシートの ws.PrintSettings が使われます。 指定できる項目は 印刷とページ設定 と共通です。

日本語フォント

IPAexGothic が DLL に埋め込まれています(Type0 / CIDFontType2)。 サーバーにフォントをインストールしていなくても日本語が出力されます。

欧文は標準の Helvetica 4 フェイス(通常・太字・斜体・太字斜体)を使います。

複数ページ

改ページは印刷と共通のエンジン(Paginator)が計算します。行・列は Excel と同じく分割されず、印刷可能領域にパックされます。

画像

シートに配置した画像はそのまま埋め込まれます(画像)。 PNG と JPEG に対応します。

条件付き書式

データバー・カラースケール・アイコンセットも描画されます。アイコンは IGridGraphics の楕円・多角形プリミティブで描かれ、画面と同じ見た目になります。

ライセンス

PDF 出力にはライセンスキーが必要です。 有効なキーが無い状態(未適用・期限切れ・ allowedAssembly 不一致)では PdfExporterReoGridLicenseException を投げ、ファイルは 一切書き出されません。透かし入りの PDF にフォールバックすることはありません。

ファイル入出力を黙って劣化させるのではなく失敗させているのは、ヘッドレス用途を想定して いるためです。サーバー上には透かしに気付く人がおらず、最初に目にするのはその文書を受け取った 相手になります。評価にはトライアルキーを適用してください(ライセンスキーの適用)。

制限

  • フォントのサブセット化は未対応です — 日本語を含む PDF には IPAexGothic 全体が埋め込まれ、ファイルサイズが数 MB 大きくなります
  • 日本語(CJK)の太字・斜体フェイスは未対応です — 太字を指定しても通常の書体で描画されます

サーバーでの利用

unvell.ReoGrid.One.Corenet10.0・依存ゼロ)に含まれます。 XLSX を読んで PDF にする流れは ヘッドレスで使う を 参照してください。

次に読む

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