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 に透かしが入ります。出力自体は行われるため、 評価はそのまま進められます(ライセンスキーの適用)。
制限
- 印刷タイトル(各ページで行・列を繰り返す)とヘッダーフッター(ページ番号)は未対応です
- フォントのサブセット化は未対応です — 日本語を含む PDF には IPAexGothic 全体が埋め込まれ、ファイルサイズが数 MB 大きくなります
- 日本語(CJK)の太字・斜体フェイスは未対応です — 太字を指定しても通常の書体で描画されます
サーバーでの利用
unvell.ReoGrid.One.Core(net10.0・依存ゼロ)に含まれます。
XLSX を読んで PDF にする流れは ヘッドレスで使う を
参照してください。