製品比較

PDFの編集におけるiTextSharpとIronPDFの比較

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

PDF(ポータブルドキュメントフォーマット)は、文書のフォーマットを保持し、セキュリティと持ち運びやすさを提供する能力から広く使用されている文書形式です。

PDFファイルは、世界で最も広く使用されている文書フォーマットの1つとなっており、C#言語でPDFを作成および操作するためのライブラリがいくつかあります。

IronPDFとiTextSharpを使用してC#でPDFファイルを編集する方法を発見する、これらの強力なライブラリを活用することで、タスクを簡単にします。

この記事では、C#でのPDF操作に関する2つの人気ライブラリ、iTextSharpとIronPDFを比較します。 次に、両方のライブラリを使用してPDFファイルを編集する方法について説明し、その後、特に出力の印刷、パフォーマンス、価格の観点から、IronPDFがiTextSharpに比べて優れている点を探ります。

iTextSharp DLLおよびIronPDFライブラリの導入

iTextSharp と IronPDF の機能およびトライアル情報 は、開発者が C# で PDF ファイルを効率的に扱うために利用できます。 両方のライブラリは、PDFドキュメントの作成、編集、および操作のための幅広い機能と性能を提供します。

iTextSharp DLLは、JavaベースのiTextライブラリのC#ポートです。 それは、PDFドキュメントの作成と操作のためのシンプルで使いやすいAPIを提供します。 iTextSharpは、AGPLライセンスの下で提供されているオープンソースライブラリです。

IronPDFは、C#を使用してPDFファイルを作成、編集、および操作するために設計された.NETライブラリです。 それは、PDFドキュメントを操作するための現代的かつ直感的なAPIを提供します。 IronPDFは、無料試用版およびサブスクリプションオプションが用意された商用ライブラリです。

「iTextSharp と IronPDF ライブラリの比較」

iTextSharpとIronPDFのライブラリは、PDFドキュメントの作成、編集、及び操作のための多様な機能と特長を提供しています。 しかし、IronPDFにはiTextSharpに対するいくつかの利点があり、C#でPDFドキュメントを扱う際の優先的な選択肢とされています。

iTextSharpとIronPDFを使用したPDFファイルの編集

iTextSharp と IronPDF の違いについて議論したところで、両方のライブラリを使用して PDF ファイルを編集する方法を見てみましょう。 既存のPDFドキュメントにiTextSharpとIronPDFを使用して、テキストの追加、フォームフィールドの追加、およびフォームの記入の例を見ていきます。

iTextSharpを使用したPDFファイルの編集

前提条件

はじめに、次のものが必要になります:

  1. お使いのマシンにインストールされたVisual Studio。

  2. C#プログラミング言語の基本的な知識。

  3. プロジェクトにインストールされたiTextSharpライブラリ。

    iTextSharpとIronPDFによるPDF編集の比較: 図1 - iTextSharpを使用したC#でのPDF作成。

    プロジェクトにiTextSharpライブラリをインストールするには、NuGetパッケージマネージャを使用できます。 Visual Studioプロジェクトを開き、ソリューションエクスプローラーでプロジェクト名を右クリックします。 コンテキストメニューから「NuGet パッケージの管理」を選択します。 NuGetパッケージマネージャーで「iTextSharp」を検索し、最新バージョンのパッケージをインストールします。

    iTextSharpとIronPDFによるPDF編集の比較: 図2 - ASP.NET C#でiTextSharpを使用する方法を探る

新しいPDFファイルの作成

iTextSharpを使用して新しいPDFファイルを作成するには、まず「Document」クラスの新しいインスタンスを作成し、そのコンストラクタに新しいFileStreamオブジェクトを渡す必要があります。 Here's an example: 例があります。

Paragraph header = new Paragraph("HEADER")
    .SetTextAlignment(TextAlignment.CENTER)
    .SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
    Rectangle pageSize = pdf.GetPage(i).GetPageSize();
    float x = pageSize.GetWidth() / 2;
    float y = pageSize.GetTop() - 20;
    document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.SetTopMargin(50);
document.SetBottomMargin(50);
Paragraph header = new Paragraph("HEADER")
    .SetTextAlignment(TextAlignment.CENTER)
    .SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
    Rectangle pageSize = pdf.GetPage(i).GetPageSize();
    float x = pageSize.GetWidth() / 2;
    float y = pageSize.GetTop() - 20;
    document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.SetTopMargin(50);
document.SetBottomMargin(50);

上記のコードでは、"newfile.pdf"という新しいPDFファイルを作成し、そこに新しい段落を追加しました。

iTextSharpとIronPDFによるPDF編集の比較: 図3 - C#でのPDF作成のためのiTextSharpチュートリアル

既存のPDFファイルの編集

既存のPDFファイルをiTextSharpを使用して編集するには、既存のPDFドキュメントを読み込むためのPdfReaderオブジェクトと、それを修正するためのPdfStamperオブジェクトを作成する必要があります。 Here's an example: 例があります。

/**
iText URL to PDF
anchor-itext-url-to-pdf
**/
private void ExistingWebURL()
{
    //Initialize PDF writer
    PdfWriter writer = new PdfWriter("wikipedia.pdf");
    //Initialize PDF document
    using PdfDocument pdf = new PdfDocument(writer);
    ConverterProperties properties = new ConverterProperties();
    properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format");
    Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties);
    Paragraph header = new Paragraph("HEADER")
        .SetTextAlignment(TextAlignment.CENTER)
        .SetFontSize(16);
    document.Add(header);
    for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
    {
        Rectangle pageSize = pdf.GetPage(i).GetPageSize();
        float x = pageSize.GetWidth() / 2;
        float y = pageSize.GetTop() - 20;
        document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
    }
    document.SetTopMargin(50);
    document.SetBottomMargin(50);
    document.Close();
}
/**
iText URL to PDF
anchor-itext-url-to-pdf
**/
private void ExistingWebURL()
{
    //Initialize PDF writer
    PdfWriter writer = new PdfWriter("wikipedia.pdf");
    //Initialize PDF document
    using PdfDocument pdf = new PdfDocument(writer);
    ConverterProperties properties = new ConverterProperties();
    properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format");
    Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties);
    Paragraph header = new Paragraph("HEADER")
        .SetTextAlignment(TextAlignment.CENTER)
        .SetFontSize(16);
    document.Add(header);
    for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
    {
        Rectangle pageSize = pdf.GetPage(i).GetPageSize();
        float x = pageSize.GetWidth() / 2;
        float y = pageSize.GetTop() - 20;
        document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
    }
    document.SetTopMargin(50);
    document.SetBottomMargin(50);
    document.Close();
}

上記のコードでは、「existingfile.pdf」という既存のPDFファイルを開き、「editedfile.pdf」という新しいPDFファイルを作成しました。 フォームフィールドにデータを入力し、PDFファイルに新しいページを追加しました。

PdfStamper クラスは、画像の追加、注釈の作成、ページサイズの変更など、既存のPDFファイルを編集するための多くのオプションを提供します。

IronPDFを使ってPDFドキュメントを編集する

IronPDFはPDFドキュメントの編集を可能にする、強力なC#用PDFライブラリです。 このチュートリアルでは、IronPDFを使用して既存のPDFファイルを編集するために必要な手順を説明します。 さまざまな側面(新しいPDFドキュメントの作成、既存のPDFへのページの追加、PDFへのコンテンツの追加、PDFのフォームフィールドの入力)について取り上げます。 以下は、さまざまな手順を説明するためのC#のサンプルコードです。

iTextSharpとIronPDFによるPDF編集の比較: 図4 - IronPDF機能の概要

始める前に、次のものがインストールされていることを確認してください:

  • Visual Studio IDE(統合開発環境)
  • IronPDFライブラリ

ステップ1:新規プロジェクトの作成

Visual Studioで新しいC#プロジェクトを作成します。 「コンソール アプリケーション」プロジェクトタイプを選択してください。

ステップ2:IronPDFをインストールする

iTextSharpとIronPDFでPDFを編集する際の比較:図5 - IronPDF NuGetパッケージのインストール

NuGetパッケージマネージャーを通じてプロジェクトにIronPDFライブラリをインストールしてください。

Install-Package IronPdf

ステップ3:既存のPDF文書を読み込む

既存のPDFドキュメントをロードするには、PdfDocument クラスを使用できます。 以下の例として、既存のPDFドキュメントをロードするコードを示します:

using IronPdf;

var existingPdf = @"C:\path\to\existing\pdf\document.pdf";
var pdfDoc = PdfDocument.FromFile(existingPdf);
using IronPdf;

var existingPdf = @"C:\path\to\existing\pdf\document.pdf";
var pdfDoc = PdfDocument.FromFile(existingPdf);

iTextSharpとIronPDFによるPDF編集の比較: 図6 - IronPDFを使用してPDFを作成

ステップ4:既存のPDFドキュメントに新しいページを追加する

既存のドキュメントに新しいページを追加するには、PdfDocument クラスの AddPage メソッドを使用できます。 以下は、既存のPDFに新しいページを追加する例です:

var newPage = pdfDoc.AddPage();
newPage.Size = PageSize.Letter;
var newPage = pdfDoc.AddPage();
newPage.Size = PageSize.Letter;

ステップ5:ウェブサイトからPDFを作成する

IronPDFを使用することで、以下のコードはウェブページのアドレスから直接PDFファイルを生成することができます。 さらに、カスタムヘッダーとフッターが提供されています。

/**
IronPDF URL to PDF
anchor-ironpdf-website-to-pdf
**/
private void ExistingWebURL()
{
    // Create a PDF from any existing web page
    var Renderer = new IronPdf.ChromePdfRenderer();
    // Create a PDF from an existing HTML
    Renderer.RenderingOptions.MarginTop = 50;  //millimetres
    Renderer.RenderingOptions.MarginBottom = 50;
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        CenterText = "{pdf-title}",
        DrawDividerLine = true,
        FontSize = 16
    };
    Renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        LeftText = "{date} {time}",
        RightText = "Page {page} of {total-pages}",
        DrawDividerLine = true,
        FontSize = 14
    };
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    Renderer.RenderingOptions.EnableJavaScript = true;
    Renderer.RenderingOptions.RenderDelay = 500; //milliseconds
    using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
    PDF.SaveAs("wikipedia.pdf");
}
/**
IronPDF URL to PDF
anchor-ironpdf-website-to-pdf
**/
private void ExistingWebURL()
{
    // Create a PDF from any existing web page
    var Renderer = new IronPdf.ChromePdfRenderer();
    // Create a PDF from an existing HTML
    Renderer.RenderingOptions.MarginTop = 50;  //millimetres
    Renderer.RenderingOptions.MarginBottom = 50;
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        CenterText = "{pdf-title}",
        DrawDividerLine = true,
        FontSize = 16
    };
    Renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        LeftText = "{date} {time}",
        RightText = "Page {page} of {total-pages}",
        DrawDividerLine = true,
        FontSize = 14
    };
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    Renderer.RenderingOptions.EnableJavaScript = true;
    Renderer.RenderingOptions.RenderDelay = 500; //milliseconds
    using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
    PDF.SaveAs("wikipedia.pdf");
}

iTextSharpとIronPDFの違い

iTextSharpとIronPDFを比較してPDFを編集する: 図7 - iTextSharpとIronPDFの選択

iTextSharp は、C#でPDF ドキュメントを生成、操作、データ抽出を可能にする人気の高いオープンソースライブラリです。 それは長い歴史を持ち、広く使用されているライブラリです。しかし、IronPDFは新しく、より現代的なライブラリであり、追加の機能と利点を提供するため、開発者にはより良い選択肢となります。

IronPDFがiTextSharpを超える領域の一つは、その出力能力です。 IronPDFは、HTMLからPDFへの変換を優れたサポートを提供し、開発者がHTMLページをPDFドキュメントに簡単に変換できるようにします。 これは、リッチメディアやインタラクティブコンテンツを含むレポートやドキュメントを生成する際に特に有益です。 さらに、IronPDFはページレイアウトとフォーマットの詳細な制御を可能にし、望む外観に正確に一致するPDFドキュメントの作成を簡単にします。

iTextSharpとIronPDFによるPDF編集の比較: 図8 - IronPDFの機能と能力

HTML入力文字列からPDFを生成

以下のコードは、IronPDFを使用してHTML入力からPDFを作成します。

/**
IronPDF HTML to PDF
anchor-ironpdf-document-from-html
**/
private void HTMLString()
{
    // Render any HTML fragment or document to HTML
    var Renderer = new IronPdf.ChromePdfRenderer();
    using var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
    Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() 
    { 
        HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
    };
    var OutputPath = "ChromePdfRenderer.pdf";
    PDF.SaveAs(OutputPath);
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
/**
IronPDF HTML to PDF
anchor-ironpdf-document-from-html
**/
private void HTMLString()
{
    // Render any HTML fragment or document to HTML
    var Renderer = new IronPdf.ChromePdfRenderer();
    using var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
    Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() 
    { 
        HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
    };
    var OutputPath = "ChromePdfRenderer.pdf";
    PDF.SaveAs(OutputPath);
    Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}

iText 7 HTML to PDF

以下のコードはiText7を使用してHTMLテキストを用いたPDFを生成します。

/**
iText HTML to PDF
anchor-itext-html-to-pdf
**/
private void HTMLString()
{
    HtmlConverter.ConvertToPdf("< h1 > Hello iText7 </ h1 >", new FileStream("ChromePdfRenderer.pdf", FileMode.Create));
}
/**
iText HTML to PDF
anchor-itext-html-to-pdf
**/
private void HTMLString()
{
    HtmlConverter.ConvertToPdf("< h1 > Hello iText7 </ h1 >", new FileStream("ChromePdfRenderer.pdf", FileMode.Create));
}

パフォーマンス

パフォーマンスの観点から見ると、IronPDFも明らかに優れています。 それはiTextSharpより高速かつ効率的に設計されており、開発者がより迅速に、そしてシステムリソースを少なくしてPDFを生成できるようにします。 これは特に、大規模または複雑なPDFドキュメントを扱う場合に重要です。このような場合、パフォーマンスが大きな要因となることがあります。

価格設定

もう一つのIronPDFがiTextSharpに対して優位性を持つ点は価格設定です。 iTextSharpはほとんどの用途で無料で使用できますが、特定の使用ケースでは商業ライセンスが必要であり、その商業ライセンスは非常に高価になることがあります。一方、IronPDFはより手頃な価格モデルを提供しており、さまざまなニーズや予算に応じたオプションが用意されています。

ライセンスと価格設定

iTextSharpとIronPDFの主な違いの一つは、ライセンスと価格設定です。

iTextSharpはAGPLライセンスの下でライセンス供与されており、オープンソースプロジェクトでは無料で使用できますが、商業利用には商業ライセンスが必要です。 iTextSharpの商用ライセンスは、求められる機能やサポートレベル、開発者の数およびデプロイメントサーバーの台数に基づいて、異なる階層で利用可能です。

一方、IronPDFは商業用ライブラリであり、購入前に評価するための無料トライアルを開発者に提供しています。 IronPDFは、開発者ごとのライセンスとサーバーごとのライセンス、さらに大規模な組織向けのエンタープライズライセンスなど、柔軟なライセンスオプションを提供しています。 IronPDFの価格は、必要な開発者数と機能に基づいています。複数年および大量ライセンスには割引が適用されます。

iTextSharpは小規模なオープンソースプロジェクトにはコスト効率が高いかもしれませんが、IronPDFの柔軟なライセンスオプションと商用サポートにより、商業プロジェクトや大規模な組織にとってより実行可能な選択肢となります。

iTextSharp と IronPDF の PDF 編集における比較: 図9 - IronPDFの主要機能

結論

結論として、iTextSharpとIronPDFはどちらもC#でPDF操作が可能なライブラリですが、より多才で効率的な選択肢として際立っているのはIronPDFです。その高度な機能、直感的なAPI、およびユーザーフレンドリーなドキュメントにより、IronPDFは開発者にとって優れた体験を提供します。 柔軟なライセンスオプションと費用対効果の高い価格設定により、商業プロジェクトや大企業により適しています。

さらに、IronPDFは、より高速なレンダリング時間、効率的なメモリ使用、および大規模なPDFドキュメントの最適化された処理により、優れた技術性能を誇ります。 Iron Softwareの特別なIronPDFのライセンス価格オプションでは、複数の製品やライセンスを購入する際に、包括的な強力なツールとライブラリのスイートにアクセスできます。これにより、開発者はアプリケーション開発プロセスを効率化できます。 C#プロジェクトに強力で効率的なPDFライブラリが必要な場合、IronPDFは良い選択です。

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