製品比較

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

公開済み 2023年5月30日
共有:

1.0 はじめに

Adobeは、テキストおよび画像ベースのドキュメントの共有を容易にするために、Portable Document Formatを開発しました。(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の両方をインストールする必要があります。これらのパッケージの機能は多数のパッケージに分かれているためです。

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

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

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

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

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

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

バイト配列からPDFを作成 C# iTextSharp(対 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);
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.Layout.Properties
Imports System.IO
Imports iText.Kernel.Geom
Imports iText.Html2pdf

Private html = "<h1>Hello world</h1>"
'byte array
Private result() As Byte
'create new MemoryStream var ms
Using ms = New MemoryStream()
	'new document
	Dim doc = New PdfDocument(New PdfWriter(ms))
	doc.SetDefaultPageSize(PageSize.A4)
	doc.SetTagged()
	HtmlConverter.ConvertToPdf(html, doc, New ConverterProperties())
	result = ms.ToArray()
End Using
File.WriteAllBytes("test.pdf", result)
VB   C#

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

バイト配列からPDFを作成 C# iTextSharp(対 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);
Dim html = "<h1>Hello world</h1>"
Dim pdf = New IronPdf.ChromePdfRenderer()
Dim bytedata=pdf.RenderHtmlAsPdf(html).BinaryData
File.WriteAllBytes("test.pdf", bytedata)
VB   C#

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

バイト配列からPDFを作成する C# iTextSharp(IronPDFとの比較)図4 - IronPDF出力

さらなるコードチュートリアルについては、こちらをクリックこれ.

結論 5.0

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

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

< 以前
IronPDFとFoxit PDF SDKの比較
次へ >
PDFの編集におけるiTextSharpとIronPDFの比較