製品比較

バイト配列からPDFを生成 C# iTextSharp (vs IronPDF)

チペゴ
チペゴ・カリンダ
2023年5月30日
共有:

1.0 はじめに

Adobeは、テキストおよび画像ベースのドキュメント(PDF)を共有するためにポータブルドキュメントフォーマットを開発しました。 PDF画像ファイルを表示するには、別のアプリケーションを使用する必要があります。 今日の文化において、多くの企業は請求書やその他の書類の作成など、さまざまな業務にPDFドキュメントを利用しています。

開発者は、既存のPDFフォーマットを使用して、クライアントの仕様に従うドキュメントや画像ファイルを生成します。 幸いにも、プロセスを簡素化するライブラリにより、PDFの作成がこれまで以上に簡単になりました。 プロジェクト用のライブラリを選択する際には、構築、読み取り、および変換の機能などの要因を考慮して、利用可能な最良のものを選択してください。

この投稿では、最も広く使用されている2つのDot NET PDFライブラリを比較します。 それらは:

  • iText PDF
  • IronPDF

    Microsoft.NETアプリケーションまたはプロジェクト内で、IronPDFやiText PDFライブラリを使用してPDFを作成、読み取り、変更することができます。 パフォーマンスやPDFの変換と処理にかかる費用を直接比較する前に、まずは2つのライブラリの機能について見ていきます。それによって、どのライブラリがあなたのアプリケーションに最適かを判断します。 Microsoft .NET Frameworkは両方のライブラリをサポートしています。 また、各ライブラリの期間が参照用および後の調査のために記録されます。 比較について知るには、こちらをクリックしてください。

ライブラリの機能

2.1 iText PDF 機能

Javaのライブラリおよびシステムで、テキストをPDFファイルに変換できるものはiText PDFと呼ばれています。 テキストはAGPLソフトウェアライセンスモデルに準拠しています。 AGPLソフトウェアライセンスは無料でオープンソースです。

  • PDFファイルを生成するためのAPIはiTextライブラリを通じて利用可能です。
  • HTMLとXMLの両方の文字列は、iTextプログラムのvar readerを使用してPDFに解析することができます。
  • iTextライブラリを使用して、PDFドキュメントにブックマーク、ページ番号、およびマーカーを追加することができます。
  • iTextライブラリを使用して、PDFファイルを複数のPDFに分割することができ、また複数のPDFファイルを1つのPDFに結合することができます。
  • iTextを使用してPDFのフォームを編集できます。
  • PNG、JPEG、およびその他の画像形式の画像を使用して、iTextはPDFも作成できます。
  • iTextライブラリが提供する Canvas クラスは、既存のテキスト上に様々な幾何学図形を描画するために使用できます。
  • PDF文書では、iTextはフォントや画像の追加および編集を可能にするツールを提供します。

2.2 IronPDFの機能

開発者は、強力なIronPDFを使用することで、迅速にPDFファイルを生成、読み取り、および変更することができます。このIronPDFは、PDFの.NETライブラリです。 IronPDFにはChromeエンジンが搭載されており、HTML5、JavaScript、CSS、および画像ファイルをPDFに変換する機能、独自のヘッダーとフッターを追加する機能、ウェブブラウザに表示される通りに正確にPDFを生成する機能など、実用的で強力な機能が豊富に備わっています。 IronPDFは、HTML、ASPX、Razor View、およびMVCを含む様々なWebおよび.NET形式をサポートしています。 IronPDFの主な特長は次のとおりです:

  • .NET C#プログラム内でPDFファイルの簡単な作成、読み取り、編集。
  • ユーザーエージェント、プロキシ、クッキー、HTTPヘッダー、フォーム変数の設定を持つウェブサイトURLリンクからPDFを作成し、HTMLログインフォームを使用したログインをサポートします。
  • 既存のPDF出版物から写真を削除する。
  • PDFファイルにテキスト、写真、ブックマーク、ウォーターマーク、およびその他の要素を追加します。
  • 複数のPDFドキュメントのページを簡単に結合および分割できる機能。
  • CSSファイルを含むメディアタイプ資産をドキュメントに変換する機能。

ライブラリのインストール 3.0

3.1 iText7をインストール

NuGetパッケージマネージャーを使用して最初にiTextを見つけます。 iText7とiText.pdfhtmlの両方をインストールする必要があります。これらのパッケージの機能は多数のパッケージに分かれているためです。

Byte配列からPDFを作成 C# iTextSharp (vs IronPDF) 図1 - iText7

以下に示すように、Visual Studio コマンドラインを使用する場合は、次のパッケージをインストールします:

Install-Package itext7 && Install-Package itext7.pdfhtml

iText7は最新バージョンであるため、私たちのソリューションで使用しています。

3.2 IronPDFライブラリをインストール

以下のスクリーンショットに示されているように、パッケージマネージャーで「IronPDF」を簡単に検索できます:

バイト配列からPDFを作成する C# iTextSharp (vs IronPDF) 図2 - IronPDF

関連する検索結果のリストは上記の画像に表示されています。 パッケージをマシンにインストールするには、必要なチェックボックスをオンにしてください。

パッケージをコマンドラインでインストールしたい場合は、パッケージマネージャーのターミナルタブに次の行を追加してください:

:PackageInstall

パッケージは使用の準備が整い、現在のプロジェクトにダウンロードおよびインストールされます。

4.0 PDF作成

4.1 iTextSharpの使用

iText ドキュメント doc から生成されたパブリック スタティック バイト配列を使用して PDF ドキュメントを作成できます。 以下のサンプルは、iText PDF ライブラリを使用して新しいドキュメントを作成するのに役立ちます。

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//byte array
byte [] result;
//create new MemoryStream using var ms
using (var ms = new MemoryStream())
{
    //new document
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//byte array
byte [] result;
//create new MemoryStream using var ms
using (var ms = new MemoryStream())
{
    //new document
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);

上記の例は、指定されたHTML文字列からPDFドキュメントを作成していることを示しています。 まず、データを保持するためにMemoryStreamを作成しています。 次に、PdfWriterを作成し、MemoryStreamをデータを保持するためのパラメーターとして渡しています。 次に、HtmlConverterを使用してPDFファイルを作成しています。 その後、すべての出力がMemoryStreamに保存されました。 次にデータをバイトに変換し、その後 MemoryStream ms を新しいファイルとして保存するために File クラスを使用します。この操作は以下の出力のようになります。

バイト配列からPDFを作成 C# iTextSharp(vs IronPDF)図3 - 出力

4.2 IronPDFの使用

IronPDFは数行のコードでPDFファイルの作成を非常に簡単にします。 以下はIronPDFを使用してPDFファイルを作成するためのサンプルコードです。

var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);
var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);

最初のステップでは、PDFファイルを作成するのに役立つChromePdfRendererのオブジェクトを作成しています。その後、メソッドRenderHtmlAsPdfを使用して、HTMLデータをPDFドキュメントに追加します。 次に、データをバイト配列に変換します。 最後のステップは、バイト配列をPDFファイルに変換するのに役立つファイルを使用することです。出力は以下のようになります。

バイト配列からPDFを作成 C# iTextSharp (vs IronPDF) 図4 - IronPDF出力

さらにコードチュートリアルを見るには、こちらをクリックしてください。

結論 5.0

iText7は一般的に使用されているPDFライブラリのひとつです。 iTextのコードは非常に複雑で、初心者には適していません。 このライブラリをユーザーアプリケーションで使用するには、基本的な知識が必要です。 iTextは大きなスペースを伴うPDFファイルを生成しているため、多くのページを含むファイルを生成するとユーザーのメモリに影響を与える可能性があります。 iText7は他のパッケージとは異なり、ライブラリを複数のパッケージに分割しています。 iText7は複数のパッケージに依存しています。 動作させるためにすべてのパッケージをダウンロードする必要がありますが、それによりアプリケーションのサイズが増加する可能性があります。 iTextには開発ライセンスとビジネスライセンスの両方が無料で提供されています。 こちらをクリックして、iTextライセンスについて詳細をお読みください。

一方、IronPDFは使いやすく簡単です。 数行のコードでPDFファイルを作成することができます。 初心者に適しており、このアプリケーションを使用するための基本的な知識は必要ありません。 IronPDFは他のパッケージに依存していません。 それは単独で動作するパッケージです。 開発者は、提供される無料ライセンスに加え、自分のニーズに合わせて購入するためのさまざまなライセンスから選択できます。 $749 Lite エディションには、永久ライセンス、30日間の返金保証、1年間のソフトウェアサポート、アップグレード、SaaS および OEM 再配布の可能性など、すべてのライブラリ機能が含まれています。 さらに、定期的な費用は除外されます。 これらのライセンスは一度購入すれば、開発、ステージング、および本番環境に適用できます。 また、IronPDFでは、配布不可の期間限定無料ライセンスが利用可能です。 IronPDFの価格とライセンス情報の詳細な内訳については、こちらをクリックしてください。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
IronPDFとFoxit PDF SDKの比較
次へ >
PDFの編集におけるiTextSharpとIronPDFの比較