透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
この記事は、.NET開発の分野で高く評価されている権威者、Jeff Fritzによって書かれました。
この記事では、ジェフがIronPDFライブラリをC#.NET用の他の3つの主要なPDFライブラリ、Aspose、SyncFusion、およびiTextPdfと比較しています
私は3つの開発者向け商用PDF管理製品の開発者エクスペリエンス全体を調査し、IronPDFのエクスペリエンスと比較しています。 私たちは、以下の分野で各製品を比較し、評価します:
発見および取得の経験
ライセンスの明確化
互換性
利用開始体験
C# 開発者向け API の使いやすさ
コードサンプルやチュートリアルを含むドキュメントの品質
HTMLからPDFへの変換機能
CSS3対応
HTML5 準拠
JavaScriptのコンプライアンス
生成フォームのサポート
技術サポート
リリースの頻度と機能の開発
ツールの最終スコアカードで締めくくります。
開発者にはさまざまなPDF製品から選ぶことができます。 どのように製品を区別し、プロジェクトに適したものを選べばよいのでしょうか。 C#の開発者は、ソフトウェアツールを調査する際、主に3つの場所を調べます:検索エンジン、GitHub、NuGet。 プライベート検索エンジンのDuckDuckGoで「PDF Software C#」を検索し、GitHubとNuGet.orgでこれらのPDFツールを探します。 NuGetは、.NETパッケージリポジトリです。
IronPDF |
5 |
Not found |
5 |
Aspose |
22 |
37 |
3 |
SyncFusion |
49 |
N/A |
8 |
iTextPDF |
Not found |
40 |
7 |
注記: 各サービスの検索結果を最初の100件に制限しましたが、IronPDFのGitHubリポジトリおよびiTextのウェブサイトをDuckDuckGoで見つけることができませんでした。 SyncFusionには、PDF作成のサンプルがあるGitHubリポジトリがありません。
それぞれの製品は、ウェブサイトからの製品取得に対して異なるアプローチを持っています。
IronPDF は、フロントページにダウンロードボタンを表示して明確にしています
図 1 - IronPDFダウンロードの発見
ダウンロードボタンは、NuGet.orgと標準的な.NETパッケージのインストール手順にルートします。
Aspose は、フロントページにクリックスルーがあり、言語を選択すると、そのバージョンの製品に関する詳細情報とダウンロードボタンが表示されます。
図2 - Aspose.PDF 言語セレクター
図3 - Aspose.PDF C# ダウンロードディスカバリー
Asposeは、その後、NuGetの指示といくつかのプロモーション資料の段落を含むページでツールをダウンロードするよう求めます。
図 4 - Aspose ダウンロードページ
SyncFusionのPDF管理ライブラリは「ドキュメント処理 - PDF」のカテゴリに分類されています。 彼らのサブサイトは次のように見えます:
図 5 - SyncFusion PDF ディスカバリー
その後、Eメールアドレス、電話番号、会社名を記入し、ウェブサイト上でアカウントを作成する必要があります。 SyncFusionは、テキストメッセージでメールを確認した後、ソフトウェアのインストーラーをダウンロードできるようにします。 NuGetから試用版パッケージをインストールすることもできますが、インストーラは「完全な製品」を提供するとのことです。 SyncFusionのウェブサイトにサインアップした後、数日以内にサポートを申し出るメールが2通と電話が2件届きました。 電子メールと電話はフレンドリーなトーンでしたが、私は電話が少し侵略的であると感じました。
iTextPDF は、その製品と製品へのリンクを一つにして明確に示しています:
図7 - iTextPDFディスカバリー
ダウンロード画面にはダウンロードするための3つのオプションがあり、電話番号、メールアドレス、職種、および会社名でのサインアップが必要です。
図7 - iText ダウンロード画面
iTextの選択肢の多さに圧倒され、何をダウンロードするべきか分かりませんでした。 私はiText 7を選択し、別の画面で9つのPDF関連製品からダウンロードするものを選択した。 再びこれは混乱を招き、私のプロジェクトにどのライブラリやツールが必要か確信が持てませんでした。
私はiTextから顧客ポータルへのリンクと生成されたパスワードが記載されたフォローアップメールを受け取りました。 提供された認証情報を使用してポータルサイトにアクセスしようとしましたが、サイトにアクセスできませんでした。
開発者がダウンロードするライブラリによっては、ライセンスが製品をプロジェクトで使用できるかどうか、どのように使用できるかを決定します。 より寛容なライセンスでは、ツールをモバイルまたはデスクトップアプリケーションと一緒に配布することが許可されますが、より制限的なライセンスでは、ツールの使用が保護されたサーバー上での実行に限定される可能性があります。
IronPDFは、ライセンシング条件にリンクする「無料NuGetダウンロード」ボタンの隣にフロントページにクリアボタンを提供します。 最終的なページは、何人の開発者がカバーされているか、製品がいくつのプロジェクトで使用できるかについて非常に明確に示しています。 組織のオフィス数には制限があります。 ソフトウェアのSaaS製品またはネイティブアプリケーションとしての再配布には、追加のライセンス料が必要です。
Asposeには、6つの異なるライセンスモデルがあり、サポートなし、サポートあり、またはサポートとコンサルティングが含まれています。 彼らのオプションは非常に紛らわしいと感じました。プロダクトを使用できるプロジェクトの種類や、ライセンスを受けた開発者の数、組織の規模にも制限があります。
サポートを含む一般向けウェブサイトプロジェクト:
Inclusion |
IronPDF |
Syncfusion |
AsposePDF |
iText |
---|---|---|---|---|
1 website, 1 developer, 1 location, Support |
$749 |
$2,495 |
$5,394 |
|
10 websites, 10 developers, 10 locations, Support |
$1,999 | $13,990 | $28,771 | |
Unlimited websites, Support |
$3,999 |
N/A |
$25,785+ (per year) |
図8 - Asposeのライセンシングモデル
SyncFusion の File Formats 製品には、すべての .NET アプリケーションタイプをサポートするための一度きりの料金があります。この料金は開発者ごとに課金され、契約の2年目には料金が割引されます。 組織の規模や、製品が使用されるプロジェクトの数による制限はありません。 彼らは、スタートアップ段階の企業向けに無料のコミュニティライセンスも提供しています。
図9 - SyncFusionライセンス
iTextには、いくつかのオープンソースの製品がありますが、製品を使用するにはライセンスを購入する必要があるように見せかけています。
図 10 - iTextオープンソース製品
商用ライセンスの購入オプションは、すぐには購入オプションが表示されない画面に誘導されます。 お住まいの地域、言語、使用量、使用したい製品などの情報を入力する設定ツールがあります。 ツールは、その後、商用ライセンスの見積もりを提示します。
図11 - iTextライセンス構成ツール
製品がオープンソースで利用可能な場合、商業サポートオプションなしでそれを使用することはできますか? iText 7 Community サイトにアクセスするまで明確ではありませんが、このモデルでライブラリを使用するアプリケーションのソースコードを公開することが求められる、AGPL ライセンスの対象であることがわかります。 興味深いオプションですが、開発者を混乱させる可能性があります。
各製品に利用可能な異なるデプロイメントモデルにより、各ウェブサイトで約束されている互換性のレベルが異なります。Dockerのような異なるホスティングプロバイダーおよびホスティングツールとの互換性を判断するには、さらに調査が必要です。
COM |
Yes |
|||
.NET Framework |
Yes |
Yes |
Yes |
Yes |
.NET 5 |
Yes |
Yes |
Yes |
|
.NET 6 |
Yes |
Yes |
Yes |
|
.NET Standard |
Yes |
Yes |
Yes |
|
Xamarin |
Yes |
Yes |
||
MAUI |
Yes |
|||
Azure |
Yes |
|||
AWS |
Yes |
Yes |
||
Mac |
Yes |
|||
Linux |
Yes |
|||
Docker |
Yes |
Asposeは、通常、開発者のレガシーなニーズであるCOMアプリケーションで動作すると主張する唯一の製品です。 iText は、そのウェブサイトにサポートされているプラットフォームを一覧表示しておらず、NuGetパッケージのスキャンは、示されたプラットフォームのサポートを示しています。 SyncFusionは、いくつかのユーザーインターフェイステンプレートをサポートしていますが、特定のランタイムバージョンはサポートしていません。 iText は、IronPDF 以外でクラウドサービスのサポートを主張した唯一の製品であり、AWS のサポートを強調するバナーがありました。
図12 - AWSでのiTextサポート
各製品およびそれらのウェブサイトに記載されている「はじめに」体験を確認しました。 以下は、各製品で「最初のアプリをビルドする」ための手順です。
NuGetを使用してIronPDFのサンプルバージョンをインストールし、1行のコードで起動することができました。 非常に便利で、システムを乱すこともありませんでした。
IronPDFのGet StartedページにあるIronPDFサンプルは、.NET 6およびそれ以前のバージョンを使用したシンプルなコンソールもしくはネイティブアプリケーションで動作します。 新しいPDFを作成して読み込み、シンプルな「Hello World」のテキストブロックを含む5行のコードサンプルを完成させ、ファイルを書き出します。
サンプルコードは明確で、.NET 6 / C# 10 のフォーマットとよく動作します。 オンラインコードブロックには「クリップボードにコピー」ボタンがあり、簡単に実行できます。
このファイルは、プロジェクトの下のbin/フォルダに書き込まれ、簡単なサンプルとしては動作します。 今書いたコードファイルの隣に書いてほしかったですね。bin/フォルダの中身を見ることを知らない人もいるかもしれませんから。
私のシステムでAsposeライブラリを使用し始めるために、217MBの大きなダウンロードをインストールしなければなりませんでした。 これはアプリケーションをインストールせず、単にディスク上にAsposeのライブラリを配置しました。
Asposeのサンプルは「Get Started」セクションのドキュメントにあり、少し見つけにくいです。 AsposeのHello Worldの例のコードサンプルには、そのコードが何をしようとしているのかを説明する文章が含まれており、コード内のコメントと少し重複しているように感じます。
Asposeサンプルは記述どおりには機能せず、改善が必要です。 製品レビューの中で、次の問題に遭遇しました:
SyncFusion(シンクフュージョン)
インストールを始めるには、874MBの大きなファイルをダウンロードする必要があり、ライブラリを抽出して作業するには、Syncfusionサーバーにログインする必要がありました。 インストーラーは、ディスク上のいくつかのデモをナビゲートすることができるようにする「コントロールパネル」アプリケーションを作成しました。
図13 - SyncFusionのコントロールパネルアプリケーション
Syncfusion のデモは、Syncfusion's PDF Framework for .NET の製品ページの中ほどに位置し、青い背景と淡い青のテキストがあります。 Lighthouseによると、これはコントラストが低く、一部のユーザーにとってアクセシビリティが低いです。
SyncfusionのコードをVisual Studioに貼り付けたところ、デモコードで参照されているオブジェクトに対して、適切な「usingステートメント」をVisual Studioで生成することができませんでした。 実際、Visual Studio による using ステートメントの場所の特定と生成を試みたところ、競合パッケージのインストールを推奨されました。
図14 - SyncFusionを使用するためにiTextSharpのインストールを提案するVisual Studio
SyncFusionのサンプルコードは画面に表示されたとおりには何もしませんでした。 デモコードは、PDFをメモリストリーム(MemoryStream)に書き込みます。メモリストリームは、メモリ内でファイルコンテンツを管理するオブジェクトです。 コードを修正してディスク上のファイルに書き込むようにし、「Hello World」を含むファイルが正しく生成されました。
iTextのデモは、製品ホームページの真ん中にあるわかりやすいコードエディタで書かれています。 iText 7 Community 他のデモとは異なり、iTextにはこのコードで生成されたPDFを見るためのリンクが含まれています。
私は、同社のカスタマーポータルからインストールパッケージをダウンロードする必要があり、サインアップした翌日、午前5時にサインアップ指示のメールが届いた。認証情報は機能せず、代わりにNuGetで利用可能なコミュニティ・パッケージをダウンロードしてインストールした。
提供されたiText7のサンプルコードは、書かれた状態では機能しません。 このコードには、using文もいくつか欠けていますが、それらを追加すると、アプリケーションはPDFファイルを生成し、プロジェクトのbin/フォルダに書き込みます。
このレビュー要素は、開発者がライブラリとやり取りする際のAPIとインタラクションを調査します。 これらの各ツールには、PDFドキュメントを作成し、操作するためのいくつかの方法があります。 それぞれ見てみましょう。
製品のドキュメントは、長期的には開発者にとってその成否を左右します。 彼らがより高度な機能を必要とするとき、その資料をどれだけ迅速に見つけることができ、これらの概念を教えるためのサンプルが提供されているかどうか。
各製品のAPIドキュメントで、PDFにデジタル署名を追加する機能を検索しました。
APIドキュメントは明確かつよく整理されており、左側パネルにはライブフィルター付きの目次があります。 右上の検索ボックスには、ライブフィルタも含まれており、署名機能を提供するさまざまなコンポーネントに関するいくつかの記事がすぐに返されました。 APIサイトにはライトモードとダークモードがあり、これは開発者が好む素晴らしい機能です。
図15 - IronPDF APIのシグネチャに関する検索結果
PdfSignature
クラスのドキュメントはオブジェクトを説明していますが、サンプルコードへのリンクは含まれていません。 ironpdf.com のウェブサイトで "signature" を検索し、IronPDF PDFにデジタル署名を追加する例で PdfSignature
オブジェクトを参照するサンプルコードを見つけました。
AsposeのAPIドキュメントで「Signature」を検索したところ、PdfFileSignatureクラスにリンクされました。 このページは、IronPDFのページと同様にPdfFileSignature
クラスの詳細を示していますが、デモへのリンクやクラスの使用方法は説明していません。
私は [Aspose PDF for .NET Documentation](https://docs.aspose.com/pdf/net/) のAsposeドキュメントの基本ページに戻り、署名を検索しました。
次に、関連する記事のリストが表示され、「PDFファイルに署名を追加する」記事に移動しました。このURL: [Aspose Add Signature in PDF](https://docs.aspose.com/pdf/net/add-signature-in-pdf/) でご確認いただけます。 #### SyncFusion SyncFusion(シンクフュージョン) SyncFusion の PDF ファイル形式製品に関する基本的なドキュメントページは、[Syncfusion PDF File Formats Overview](https://help.syncfusion.com/file-formats/pdf/overview) にあり、サイト内をいくつかクリックして見つけました。 ドキュメントの表紙に署名のサンプルがすぐに見つかった。 SyncFusionのサイトにはデジタル署名機能をサポートするAPIドキュメントはありません。 #### iText iTextのAPIドキュメントは非常に詳細で、各リリースバージョンから生成されています。 それはインターネット上の他のライブラリでも見られる標準的な外観と感触です。 シグネチャを検索すると、これらの機能に関する素晴らしい説明のあるクラスがいくつか見つかりましたが、やはりサンプルへのリンクはありませんでした。 iTextのウェブサイトでSignatureのサンプルを探したが見つからず、代わりに新しいパートナーシップを発表するブログ記事がいくつか紹介されていた。 ### API 各ツールが提供するAPIは非常に説明的で、開発者がPDF文書のコンテンツを作成・管理するためのフルアクセスを提供するために、それぞれが独自のアプローチをとっています。 ありがたいことに、すべてのフレームワークには、Visual StudioやVisual Studio Codeのようなオートコンプリート機能を提供するモダンなコードエディタでツールを使用する際に素晴らしいインラインドキュメントを提供する完全なオートコンプリートヒントが含まれています。 #### IronPDF IronPDF APIは、"RenderHtmlAsPdf "のような単純化されたコマンドで、非常に難しく複雑なインタラクションを簡単に行うことができますが、それでもなお、ドキュメントのコンテンツ、セキュリティ、メタデータ、フォームの作成と配置への深いアクセスを提供します。 開発者として、これらのAPIはコンテンツのレンダリングに対する私の考え方に「マッチする」と感じています。 IronPDF APIで使用される名前と用語は、ドキュメントをレンダリングしているか、ドキュメントを作成しているかを明確に示しています。 設定の一部の時間プロパティは、ミリ秒を表す整数であり、ネイティブなTimeSpan型を好んで使用したかった。 最後に、以下のような最新の流暢な構成APIを提供するSettingsおよびOptionsタイプを見たいと思います: ```csharp var Renderer = new IronPdf.ChromePdfRenderer(options => { RenderDelay = TimeSpan.FromSeconds(1) }); ``` #### SyncFusion SyncFusion(シンクフュージョン) SyncFusion APIは明確で、コンバーターツールとのインタラクション方法に関して非常に詳細な制御を提供します。 ここでは近道はありません。すべてが必須であり、使用するツールを指定する必要があります。デフォルトは存在しません。 設定は非常に詳細で、WebKitレンダラーのディスク上の場所を含め、すべてを細かく制御することができます。 この追加設定は、一部のインストールでは必要ありませんが、過去に問題を引き起こし、将来のバージョンでは問題とならないことをSyncFusionは約束しています。 #### アスポース Aspose APIは非常に冗長で、これが開発者の生産性向上に寄与しているのか疑問に思います。 ウェブサイトからドキュメントを読み込むために必要な設定の量は驚くべきもので、SyncFusion(5行)の2倍の行、10行のコードが必要です。 その一例として、AsposeにはURLを指定して取得および変換するAPIがありません。 #### iText iTextはAsposeに似たAPIを持っており、非常に冗長で、さまざまなデータタイプでドキュメントに書き込むことで直接対話することができますが、ドキュメントのセクションを作成する方法は明確ではありません。 APIが非常に具体的であり、ドキュメントの品質が低いため、iTextを使用するのは少なくとも困難です。 ## HTMLからPDF 次に、HTMLコンテンツをPDFに変換する際の、各ツールのレンダリングと速度の能力をテストしたいと思いました。 私は、[PDF Comparisons 用の Jeff の GitHub リポジトリ](https://github.com/csharpfritz/PdfComparisons) から利用可能なコードをいくつか書きました。これを確認することで、これらのテストをどのように実行したのかについて詳しく学ぶことができます。 私はまた、[結果PDFの各コピーをそこに保存しました](https://github.com/csharpfritz/PdfComparisons)ので、確認してください。 以下の各製品をテストします: - 静的なウェブサイトから直接HTMLを提供するページの変換の容易さ。 以下のように、検索エンジンによる消費を促進するために使用されるTwitchクリップサイトKlipTok.comのKlipTokスタティックウェブサイトを使用します。 このウェブサイトのターゲット先は:[KlipTok Static Site](https://kliptokaspnetcore.azurewebsites.net/)であり、レンダリングにブラウザを必要としません。 - ESPN.comのレンダリング。JavaScriptとCSS3を多用し、サイトのトップページを配信している。 - ローカルのサイトでフォームをレンダリングし、結果のPDFの各フィールドの使用と表示をテスト。 ### シナリオ 1: 静的ウェブサイトのテスト 参照ウェブサイトは非常にシンプルで、CSSはなく、テキストとリンク、および画像のみが含まれています。図16 - 静的Webテストの参照ウェブサイト
図17 - IronPDFによる静的サイトのレンダリング
図18 - 静的サイトのSyncFusionレンダリング。
図19 - 静的サイトのiTextレンダリング。
Tool Used |
Speed in milliseconds (lower is better) |
---|---|
IronPDF |
835ms |
SyncFusion |
1799ms |
Aspose |
N/A |
iText |
2975ms |
図20 - ブラウザ内のESPN.comの完全レンダリング
図21 - IronPDFによるESPNのレンダリング
図22 - ESPNのSyncFusionレンダリング
Tool Used |
Speed in milliseconds (lower is better) |
---|---|
IronPDF |
835ms |
SyncFusion |
1799ms |
Aspose |
N/A |
iText |
2975ms |
図23 - Firefoxでのフォームウェブサイト
図24 - IronPDF によるフォームのレンダリング
図25 - SyncFusionによってレンダリングされたフォームサイト
図26 - iTextでレンダリングされたフォームサイト
Tool Used |
Speed in milliseconds (lower is better) |
---|---|
IronPDF |
835ms |
SyncFusion |
1799ms |
Aspose |
N/A |
iText |
2975ms |