PDF帳票ツール選定ガイド
メシウスのPDF帳票ツール
本格的な帳票を開発する製品からExcel帳票をPDF出力できる製品まで、メシウスではPDF帳票を作成するさまざまな製品をリリースしています。製品個々の機能差はもちろんですが、.NET Frameworkや .NET(.NET Core)、JavaScriptなど開発で使用するシステムのテクノロジーによっても選択するべき製品は異なってきます。このページではPDF帳票を作成できる製品の違いや選択のポイントを紹介します。
対象製品/コンポーネント
製品名(コンポーネント) | ジャンル | カテゴリ | 生成場所 | 対応アプリケーション※ | 対応環境※ |
---|---|---|---|---|---|
ActiveReports for .NET | 帳票 | .NET | サーバー、デスクトップ | Windows Forms、WPF、ASP.NET、ASP.NET Core、コンソール、Blazor | .NET/.NET Core/.NET Framework、モダンブラウザ、Windows/Mac/Linux、クラウド(IaaS、Azure Web Apps) |
ActiveReportsJS | 帳票 | JavaScript | ブラウザ | Web(クライアントサイド) | Angular/React/Vue.js、モダンブラウザ、Windows/Mac/Linux |
DioDocs for Excel | ドキュメント | .NET | サーバー、デスクトップ | Windows Forms、WPF、ASP.NET、ASP.NET Core、コンソール、Xamarin、Blazor | .NET/.NET Core/.NET Framework、Windows/Mac/Linux、クラウド(IaaS、PaaS、FaaS) |
DioDocs for PDF | ドキュメント | .NET | サーバー、デスクトップ | (同上) | (同上) |
SpreadJS | スプレッドシート | JavaScript | ブラウザ | Web(クライアントサイド) | Angular/React/Vue.js、モダンブラウザ、Windows/Mac/Linux |
Wijmo(FlexGrid/PdfDocument) | データグリッド/PDF生成ライブラリ | JavaScript | ブラウザ | (同上) | (同上) |
- 詳しくは各製品情報ページをご確認ください
各製品の紹介
ActiveReports for .NET
特長
.NET帳票開発の定番ツール。専用の帳票デザイナを使用して、縦書き、角丸、行間・文字ピッチ指定、長体、PDF外字など日本仕様の帳票をスピーディに作成できます。Webアプリとデスクトップアプリの両方に対応。ブラウザにPDF帳票を表示するWebアプリ、独自のWebサービス、サーバーサイドでのPDFバッチ出力など様々なユースケースに対応します。
PDF帳票の作成手順
- 帳票デザイナで帳票テンプレートを作成
- 運用環境(サーバー/デスクトップ)にて帳票テンプレートとデータから帳票を作成
- 作成した帳票をPDFファイルに出力(ファイルとして直接保存、専用ビューワから対話的に保存、ブラウザ上に直接PDFを表示などが可能)
利用シーン
- データ量(ページ数)が多いPDF帳票
- サーバーコンピューターのリソースをフル活用して帳票を作成できる
- バーコードやグラフなどの出力
- 多彩なバーコードとグラフをPDFに出力できる
- PDF以外のフォーマットで出力したい
- Windowsフォーム、WPF、JavaScript、Blazorなどに特化した専用の帳票ビューワを提供
- Excel、画像、HTMLなど多様なフォーマットに出力できる
- エンドユーザーによる帳票レイアウト変更
- システム運用開始後に、エンドユーザーがレイアウトを変更できるデザイナ機能を実装できる
リファレンス
ActiveReportsJS
特長
定番帳票ツールActiveReports for .NETのJavaScriptライブラリ版。専用の帳票デザイナを使って、縦書き、角丸、行間・文字ピッチ指定、PDF外字など日本仕様の帳票をスピーディに作成できます。帳票エンジンはブラウザで動作するため、サーバーに依存することなくクライアントサイドでPDF帳票を作成できます。
PDF帳票の作成手順
- 帳票デザイナで帳票テンプレートを作成
- 運用環境(ブラウザ)で帳票テンプレートとデータから帳票を作成
- 作成した帳票をPDFファイルに出力(帳票ビューワから対話的にPDF出力できるほか、直接ブラウザ上にPDFを出力することも可能)
利用シーン
- SaaS連携
- Webシステムのデータ連携で幅広く使われているJSONに対応しており、CRMなどSaaSとの連携が可能
- 画面データのPDF帳票化
- ブラウザに表示された一覧データをオンデマンドでPDF帳票として視覚化したい(参考:導入事例「モノプラス株式会社」)
- サーバーを必要としないためクライアントとサーバー間におけるデータのやり取りが不要
- バーコードやグラフなどの出力
- 多彩なバーコードとグラフをPDFに出力できる
- エンドユーザーによる帳票レイアウト変更
- システム運用開始後に、エンドユーザーがレイアウトを変更できるデザイナ機能を実装できる
DioDocs for Excel
特長
VBAやVSTOライクなAPIを利用してC#、VB.NETのコードからExcelファイルを作成・編集するライブラリ。Excelファイルをブック/シート/オブジェクト単位でPDFに出力することができます。また、Excel帳票テンプレート機能を利用すると外部データとバインドする動的な帳票をExcelまたはPDFファイルとして出力できます。
PDF帳票の作成手順
- 帳票テンプレート(Excelファイル)を作成
- 運用環境(サーバー/デスクトップ)で帳票テンプレートとデータからExcelファイルを出力
- 作成したExcelファイルをPDFファイルに出力
利用シーン
- Excel帳票のPDF出力
- 既存のExcelファイルを読み込んで手軽にPDF出力できる
- 外部データ連携
- 帳票テンプレート機能を利用することでJSONやXMLといった外部データとバインドした帳票を作成できる
- PDFフォームの作成
- 帳票テンプレート機能を使ってデータ入力可能なPDF(PDFフォーム)を作成できる
- クラウドやコンテナからPDF出力
- クロスプラットフォーム対応のAPIライブラリのためクラウドやコンテナとの親和性が高い
DioDocs for PDF
特長
C#、VB.NETのコードからPDFファイルを作成・編集するAPIライブラリ。テキストや画像の描画、ページ処理、デジタル署名、データ抽出、注釈など100を超えるPDF機能を提供します。また、マルチブラウザで動作するJavaScriptベースのPDFビューワも提供しており、サーバーサイドのAPIライブラリと組み合わせることで既存PDFファイルの表示、注釈やフォームの編集をGUI操作で実現できます。
PDF帳票の作成手順
- コードを使ってPDF帳票を作成する(部分的にHTMLを使ってPDFファイルを生成することも可能)
利用シーン
- コードからスクラッチでPDF帳票を作成
- 複雑なPDF文書を作成できます(参考:デモ「実用的な使用例」)
- 外部データ連携
- HTMLテンプレートを利用することでJSONやXMLといった外部データとバインドした帳票を作成できる(参考:デモ「商品リストテンプレート」、ブログ記事「HTMLテンプレートを利用してPDF帳票を作成する」)
- 既存PDFの再利用/セキュリティ追加
- 既存PDFから任意のページや特定のテキストを抽出して別PDFへ追加するなどデータやコンテンツの再利用が可能。また、既存PDFのセキュリティ設定状況を確認したり変更したりできる
- PDFの印刷
- プリンターを指定してPDFファイルを直接印刷(参考:デモ「WindowsでのPDF印刷」)
- クラウドやコンテナからPDF出力
- クロスプラットフォーム対応のAPIライブラリのためクラウドやコンテナとの親和性が高い
SpreadJS
特長
ExcelライクなスプレッドシートUIをWeb上で実現するJavaScriptライブラリ。豊富なExcel互換機能を搭載しているためExcel帳票をブラウザで再現できるほか、既存Excelファイルの入出力やPDFファイルへの出力を提供します。データバインディングに対応しているためデータに応じてレイアウトが変化する動的な帳票も作成できます。付属のGUIデザイナ(SpreadJSデザイナ)を利用して帳票レイアウトをスピーディに作成できます。
PDF帳票の作成手順
- SpreadJSデザイナを使って帳票テンプレート(Excelファイル)を作成する
- 運用環境(ブラウザ)で帳票テンプレートとデータをバインディングしてExcel帳票を表示する
- Excel帳票をPDFファイルに出力
利用シーン
- Excel帳票のPDF出力
- 既存のExcelファイルを読み込んで手軽にPDF出力できる
- 外部データ連携
- データバインディング機能を利用することでJSONやXMLといった外部データとバインドした帳票を作成できる
- SaaS連携
- Webデータ連携で幅広く使われているJSONに対応するため、CRMなどSaaSとの連携が可能
- 運用時の帳票レイアウト変更
- システム運用時にExcel帳票の手直しが発生する場合などに、エンドユーザーがレイアウトを変更できるリボンコンテナが付属します
Wijmo(FlexGrid/PdfDocument)
特長
40種以上のコントロールを収録したオールインワンのJavaScriptライブラリ。FlexGridおよびFlexGridから派生したMultiRow、FlexSheetなどのデータグリッドコントロールを使用して帳票画面を作成しPDFファイルに出力できます。さらにPDFファイル生成ライブラリPdfDocumentとデータグリッドコントロールを組み合わせて利用することで、よりリッチな帳票を作成することが可能です。
PDF帳票の作成手順(FlexGridのみ)
- FlexGridを使って帳票画面を作成する
- 帳票画面をPDFファイルに出力
PDF帳票の作成手順(FlexGridとPdfDocument)
- FlexGridを使って帳票画面を作成する
- PdfDocumentで新規PDFドキュメントを作成する
- 帳票画面をPdfDocumentに出力
- 必要に応じてPdfDocumentに文字や画像を描画する
- PdfDocumentからPDFファイルに出力
利用シーン
- Excel帳票のPDF出力
- 既存のExcelファイルを読み込んで手軽にPDF出力できる
- 外部データ・SaaS連携
- WebAPI(JSON)とのデータ連携が容易
- コードからスクラッチでPDF帳票作成
- 複雑なPDF帳票を作成できる(参考:デモ「レポート」)
目的別おすすめ製品
ケース1:既存のExcel帳票をPDF出力したい
数式、書式設定、チャートなどExcel標準機能との互換度が高い製品を選択するのがポイントです。
製品名 | おすすめ度 | 説明 |
---|---|---|
ActiveReports for .NET | ★ | Excelファイルを製品独自の帳票定義に変換するインポートツールが付属。その帳票定義を使って帳票作成、PDF出力できます。 |
ActiveReportsJS | ★ | Excelファイルを製品独自の帳票定義に変換するインポートツールが付属。その帳票定義を使って帳票作成、PDF出力できます。 |
DioDocs for Excel | ★★★ | Excelファイルを読み込み高精度でPDF化できる。画面表示せずにPDF化する用途に向いています。 |
SpreadJS | ★★★ | Excelファイルを読み込み高精度で画面表示、PDF出力できます。 |
Wijmo(FlexGrid/PdfDocument) | ★★ | Excelファイルを読み込み画面表示、PDF出力できます。 |
ケース2:既存のPDF帳票に追記したい
PDF帳票にデータを追記するような用途にはDioDocs for PDFのみが対応します。その他の製品は既存PDFファイルの読み込みには対応しません。
製品名 | おすすめ度 | 説明 |
---|---|---|
DioDocs for PDF | ★★★ | PDFファイルを読み込んでテキストやシェイプ、注釈などのコンテンツを追加できるほか、既存テキストの置換と削除に対応します。定型文書の加工や、スキャンで取り込んだ画像への内容追加など、既存PDFファイルを操作し、更新した内容で保存可能です。 |
ケース3:大量のデータ(ページ)をPDF帳票にしたい
コンピュータリソースの確保のし易さから、クライアント(ブラウザ)よりもサーバーでPDFファイルを生成する製品がおすすめです。
製品名 | おすすめ度 | 説明 |
---|---|---|
ActiveReports for .NET | ★★★ | サーバーサイドで高い実績を持つ帳票ツールです。.NET 6にも対応しており、Linuxでも実行可能です。 |
DioDocs for Excel | ★★ | .NET 6に対応しており、クラウドやコンテナとの親和性がとても高く、Linuxにも対応しています。 |
DioDocs for PDF | ★ | 動作環境はDioDocs for Excelと同じですが、帳票テンプレート機能が無く、またデータバインド機能も劣ります。 |
ActiveReports for .NETとDioDocs for ExcelにおけるPDF帳票作成のパフォーマンス
測定条件
帳票 | 請求書 | |
---|---|---|
環境 | ||
フレームワーク | .NET Framework 4.8.1、.NET 6 | |
OS | Windows 11 Pro(22H2) | |
CPU | Intel Core i7-10510U(1.80GHz/4コア/8スレッド) | |
メモリ | 16GB |
測定結果
ActiveReports for .NET | DioDocs for Excel | |||
---|---|---|---|---|
.NET Framework 4.8.1 | .NET 6 | .NET Framework 4.8.1 | .NET 6 | |
10ページ | 4.994 | 4.744 | 6.063 | 6.228 |
100ページ | 6.324 | 6.085 | 16.261 | 16.188 |
1000ページ | 11.028 | 10.422 | 728.621 | 486.973 |
- 単位:秒
ケース4:グラフや画像、バーコードなどを出力したい
大半の製品でサポートしますが、PDFに出力できるグラフやバーコードが異なります。目的に応じて製品を選択する必要があります。
製品名 | おすすめ度 | 説明 |
---|---|---|
ActiveReports for .NET | ★★★ | 画像、グラフ(30種以上)、バーコード(30種以上)の出力に対応しています。 |
ActiveReportsJS | ★★★ | 画像、グラフ(30種以上)、バーコード(約20種)の出力に対応しています。 |
DioDocs for Excel | ★★★ | 画像、グラフ(30種以上)、バーコード(約10種)の出力に対応しています。 |
DioDocs for PDF | ★★ | 画像、バーコード(30種以上)の出力に対応しています。 |
SpreadJS | ★★★ | 画像、グラフ(30種以上)、バーコード(約10種)の出力に対応しています。 |
Wijmo(FlexGrid/PdfDocument) | ★★★ | 画像、グラフ(80種以上)、バーコード(約30種)の出力に対応しています。 |
ケース5:改ページ条件(グループ単位、データ数)を指定したい
特定の条件で改ページさせるなど動的なレイアウトを実現したい場合があります(例:請求書で請求先毎に改ページする。1ページに表示する明細行は10行、それを超える場合は改ページする)。このようなケースでは、本格的な帳票ツールを選定するのがおすすめです。
製品名 | おすすめ度 | 説明 |
---|---|---|
ActiveReports for .NET | ★★★ | ページレポート/RDLレポート/セクションレポート、3つの帳票形式をサポートし、多様な帳票に対応できます。 |
ActiveReportsJS | ★★ | ページレポート/RDLレポート、2つの帳票形式をサポートし、多様な帳票に対応できます。 |
DioDocs for Excel | ★ | テンプレート構文を記述することで動的な帳票を作成できます。グループブレーク時の改ページなど動的レイアウトにも対応します。 |
ケース6:システム運用時に帳票レイアウトを変更したい
システム運用後に仕様の変更や追加などで帳票レイアウトを変更したいケースがあります。ユーザー環境で帳票レイアウトを変更できる手段を提供している製品がおすすめです。
製品名 | おすすめ度 | 説明 |
---|---|---|
ActiveReports for .NET | ★★★ | エンドユーザーデザイナを提供します。Windows FormsアプリケーションとWebアプリケーションの2つの環境に対応します。 |
ActiveReportsJS | ★★★ | Webアプリケーションで利用できるエンドユーザーデザイナ(Webデザイナコンポーネント)を提供します。 |
SpreadJS | ★★ | システム運用時にExcel帳票の手直しが発生する場合などに、エンドユーザーがレイアウトを変更できるリボンコンテナを提供します。 |
DioDocs for Excel | ★★ | 帳票テンプレートはExcelファイルなので、Microsoft Excelを利用してレイアウトを変更できます。 |
比較表
基本機能
ActiveReports for .NET | ActiveReportsJS | DioDocs for Excel | DioDocs for PDF | SpreadJS | Wijmo (FlexGrid/PdfDocument) | |
---|---|---|---|---|---|---|
帳票デザイン形式 | 独自形式 (*.rdlx、*.rpx) | 独自形式 (*.rdlx-json) | Excel | なし (コードで生成) | 独自形式 (*.sjs、*.ssjson) | なし |
帳票デザイナ | 〇 | 〇 | × | × | × | × |
流用できる帳票デザイン形式 | Access、Crystal Reports、SSRS、Excel | Excel | Excel | HTML※3 | Excel | Excel |
帳票ビューワ (PDF) | △ (ASP.NET WebForms Webビューワ) | × | × | 〇 (JavaScriptビューワ) | × | △※6 (PdfViewer) |
改ページ制御 | 〇 | 〇 | △※1 | × | 〇 | × |
外部データとのバインド | 〇 | 〇 | 〇 | △※4 | 〇 | 〇 |
データソース | SQLite、CSV、JSON、XML、ODBC、ADO.NET | JSON | カスタムオブジェクト、DataSet、DataTable、JSON | XML、JSON | CSV、JSON | JSON |
グラフ出力 | 〇 | 〇 | 〇 | △※5 | 〇 | 〇 |
バーコード出力 | 〇 | 〇 | 〇※2 | 〇 | 〇 | 〇 |
既存PDFの読み込み | × | × | × | 〇 | × | × |
- テンプレート構文を利用
- PDF出力のみ
- 部分的に利用可能
- 手動で実施
- コードによる描画が必要
- サーバーサイドにComponentOne Enterpriseに含まれるWeb APIが必要
PDF機能
ActiveReports for .NET | ActiveReportsJS | DioDocs for Excel | DioDocs for PDF | SpreadJS | Wijmo (FlexGrid/PdfDocument) | |
---|---|---|---|---|---|---|
印刷プリセット | 〇※1 | × | × | × | × | × |
電子署名 | 〇※1 | × | × | 〇 | × | × |
タイムスタンプ | 〇※1 | × | × | 〇 | × | × |
PDFフォーム | 〇※1、3 | 〇※3 | 〇※5 | 〇※6 | × | × |
PDF 2.0 | 〇※1 | × | × | 〇 | × | × |
PDF/A | 〇※1 | 〇 | × | 〇 | × | × |
PDF/UA-1 | 〇※1 | × | × | 〇 | × | 〇 |
外字 | 〇※1 | 〇※4 | 〇 | 〇 | 〇※4 | × |
IVS文字 | 〇※1 | × | 〇 | 〇 | × | × |
日本語フォント埋め込み/埋め込みの選択 | 〇※1 | × | 〇 | 〇 | 〇 | 〇 |
日本語の太字 | 〇※1 | × | 〇 | 〇 | 〇※2 | 〇 |
縦書き | 〇 | × | × | 〇 | 〇 | × |
セキュリティ設定 | 〇 | 〇 | 〇 | 〇 | × | 〇 |
リニアライズ | × | × | × | 〇 | × | × |
注釈 | × | × | × | 〇 | × | × |
レイヤー | × | × | × | 〇 | × | × |
長期署名(PAdES) | △※7 | × | × | 〇 | × | × |
制限事項 | (詳細) | (詳細) | - | - | - | - |
- Professionalエディションのみ
- 太字専用の字形(グリフ)を持つフォントのみ対応
- テキストボックス・チェックボックスのみ
- ファイル形式のみ対応。リンク形式の外字は不可
- テキストボックス、チェックボックス、コンボボックス、ラジオボタンなど全7種類
- 全8種類(「※5」に加えてマス目テキスト)
- 長期署名に対応したPDFファイルを作成可能。長期検証情報を追加するには外部サービスが必要