製品比較

.NET Core向けiTextSharp C# HTML to PDF代替ソリューション

更新済み 11月 8, 2021
共有:

IronPDF および iText 7 (以前はiTextSharpとして知られていました) 両方とも、生成、操作、および PDFを印刷する .NETおよび.NET Coreで。

そのための最もOptimalな選択は、Iron套件で提供される多くの製品を見て、どれがあなたの特定のニーズに最適かを理解することです。たとえば、あなたがPDFを生成したり操作したりする必要がある場合、IronPDF for .NETが適しています。OCR(光学文字認識)のタスクに取り組んでいる場合は、IronOCR for .NETが役立ちます。同様に、Excelファイルの作成と操作に関しては、IronXL for .NETがあなたのためです。

あなたの開発環境やプログラミング言語に合わせて、最適なツールを選びましょう。IronPDF for Java、IronPDF for Python、またはIronPDF for Node.jsのように、特定の言語用のバージョンも提供されています。

さらに、ライセンスの種類についても考慮することをお勧めします。Lite License、Plus License、Professional License、Unlimited Licenseのいずれか、あなたのニーズに最も合ったものを選択してください。また、Iron Suiteを導入することで、複数の製品を一括で利用することも可能です。

もしわからないことがあれば、Iron Softwareの公式ウェブサイトにアクセスするか、サポートチームに問い合わせてみてください。彼らはあなたが最適なソリューションを見つけるお手伝いをします。 C# PDFライブラリ .NETプロジェクトに最適なのはどれですか? この記事の目的は、読者が適切で情報に基づいた決定を下せるように支援することです。


概要

C# ライブラリ比較

IronPDFとは:

  • .NETファースト
  • 公開された価格でのオープンな商業利用
  • HTMLからPDFへの変換に焦点を当てることで、開発者がPDFの仕組みを学ぶ必要をなくします。
  • 実務に取り組むプログラマーにとって最適な選択肢です。

    iText (アイテックス) (iTextSharp) です:

    • Java First Java First
  • 非常にオープンソース。 次の場合には、厳密なオープンソースのAGLPプロジェクト以外で使用するための見積もりを求めて、彼らに連絡することができます。
  • PDFの内部構造に基づいてプログラムAPIを使用してPDFをレンダリングすることに焦点を当てています。

  • 無料および学術プロジェクトに最適な選択

    iText 7 対 IronPDF .NET Library

    iTextSharp 少なくとも6年間存在しており、iTextというオープンソースのJavaコードベースに基づいており、今でもある程度のJava風味があります。 Javaから学習を始めた開発者にとって、このライブラリは馴染み深いでしょう。

IronPDFは、Visual Studioでの使用のしやすさを考慮して設計されたAPIを持つ .NETファーストライブラリです。 .NETは、ほぼ20年間にわたり存在し続け、成長と拡大を続け、多くの可能性を開いてきました。そして、IronPDFはその可能性を活用するために設計されています。 それは、.NETフレームワークプロジェクトでPDFドキュメントを作成および操作することを可能にします。 IronPDFを以下の形式でダウンロードできます: iTextSharp の代替ソフト.

iTextとIronPDFのレンダリングAPIはかなり異なります。 各コードセグメントを比較して、PDFドキュメントにヘッダーとフッターを追加しましょう。

IronPDFを使用してC#でPDFにヘッダーとフッターを追加する

Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "{pdf-title}",
    DrawDividerLine = true,
    FontSize = 16
};
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    LeftText = "{date} {time}",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 14
};
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "{pdf-title}",
    DrawDividerLine = true,
    FontSize = 16
};
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    LeftText = "{date} {time}",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 14
};
Renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
	.CenterText = "{pdf-title}",
	.DrawDividerLine = True,
	.FontSize = 16
}
Renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
	.LeftText = "{date} {time}",
	.RightText = "Page {page} of {total-pages}",
	.DrawDividerLine = True,
	.FontSize = 14
}
VB   C#

iTextSharp で PDF にヘッダーとフッターを追加

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);
Dim header As Paragraph = (New Paragraph("HEADER")).SetTextAlignment(TextAlignment.CENTER).SetFontSize(16)
document.Add(header)

Dim i As Integer = 1
Do While i <= pdf.GetNumberOfPages()
	Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
	Dim x As Single = pageSize.GetWidth() / 2
	Dim y As Single = pageSize.GetTop() - 20
	document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
	i += 1
Loop

document.SetTopMargin(50)
document.SetBottomMargin(50)
VB   C#

コードを素早くチェックするだけで、IronPDFが一般的なエンドユーザーの要件に基づき、実用的であることがわかります。

iTextは、ページにオブジェクト、形状、テキストを追加する描画APIに焦点を当てた低レベルのライブラリです。

iTextSharp.dllは、主にプログラムモデルを使用してPDFをレンダリングします。 iTextSharp PDFライブラリを使用する場合、各PDFテキスト、グラフィック、表、または線はPDF上に「プロット」または描画されます。 APIは低レベルで、PDFドキュメント標準に焦点を当てているようです。 このモデルは精度を提供しますが、開発者がPDFの仕組みについて少し学ぶ必要があるかもしれません。 既存のデザインスタイルやウェブアセットに正確に一致させるには、いくつかの反復とドキュメントの読み込みが必要な場合があります。 iTextSharp ドキュメント. その遺産を受け継いで、方法論とプログラムインターフェースには独特のJavaの風味があります。

対照的に、IronPDFは完全に組み込まれたWebブラウザレンダラーを使用して HTMLをPDFに変換する. 短文に従う (1行および2行) C#コードの例開発者は既存または新しいHTML、画像、CSSからPDFを生成できます。 これにより、開発者は既存のウェブ資産と密接に連携し、プロジェクト中にデザイナーと並行して作業することができます。 iTextはC# .NET向けのHTML to PDF機能を含んでいますが、明らかにそのライブラリの主要な機能ではないようです。

以下に、IronPDF と iTextSharp が開発者の目標達成を支援する方法についての詳細な比較を示します。

ライセンシング

ライセンスのオプションも開発者のプロジェクトにとって重要な要素です。 iTextSharpはAGPLライセンスの下でオープンソースです。 AGLPの下でライセンスを取得した場合、iTextSharpを含むアプリケーションの一部を使用するすべての人が (会社のネットワークやインターネットを介してでも) アプリの完全なソースコードの全コピーを受け取る権利があるかもしれません。 これは学術作業に最適です。 商業アプリケーションでiTextSharpを使用したい場合は、iTextに連絡するのが最善の方法です。 iTextの商業利用の価格について見積もりを依頼してください。.

IronPDFは 開発用に無料そしてその後に 商用展開のためにライセンスされている 公開された合理的な価格で、$749から開始します。

IronPDF と iTextSharp

こちらは2つのライブラリの比較です:

IronPDF iTextSharp
内蔵ウェブブラウザを使用してHTMLをPDFに変換 PDFHTMLアドオンによる基本的なHTMLからPDFへの変換
レンダリングのフォーカス:埋め込みWebブラウザー レンダリングフォーカス: プログラムによる描画モデル
IronPDFには公表された価格の明確なライセンスがあります。 AGPL!商用利用の価格は公開されていません。
簡単にコード化できる .NET ファーストデザイン Java APIに基づく
学術課題やコースワークには適していません。 学術課題および研究に最適です。

主な違い

IronPDFを使用してHTMLからPDFを生成する

IronPDFは、.NETおよび.NET Core開発者が、C#、F#、およびVB.NETを使用して、.NET Coreおよび.NETフレームワーク向けにPDFコンテンツを生成、結合、分割、編集、および抽出するのを容易にします。 PDFを作成 HTML、ASPX、CSS、JS、および画像ファイルから。

それは、HTMLをPDFに変換するために完全に組み込まれたウェブブラウザを利用します。 これは開発者がHTML、画像、CSSからPDFを生成し、既存のWebアセットと密接に連携しながら、プロジェクト中にデザイナーと並行して作業することを可能にします。

2. IronPDFの機能

IronPDFは、開発者の生産性に本当に重点を置いています。 このライブラリは、テキストや画像の抽出、PDFへの署名、新しいHTMLによるPDFの編集など、多くの一般的で複雑なPDFコードのタスクを便利なC#メソッドに簡素化し、開発者が最良の結果を得るためにPDFドキュメント標準を学ぶ必要をなくします。

  • HTML、画像、ASPXファイルからPDFドキュメントを生成する
  • PDFテキストの読み取り
  • PDFからデータと画像を抽出する
  • PDF文書の結合
  • PDF分割
  • PDFの操作

    2. iTextSharp ドキュメント機能

    について iTextSharp.dll は主にプログラム的なモデルを使用してPDFをレンダリングし、PDF標準に忠実で強力な高機能PDF操作APIを備えています。

  • AGLP 厳格なオープンソースライセンス
  • プログラムによる描画モデル
  • PDFの編集と読み取り
  • PDF 操作における堅固な機能

  • Javaライブラリに基づいて

    両方のライブラリを使用して例のプロジェクトを作成することで比較してみましょう。


    例プロジェクト

    ASP.NETプロジェクトの作成

    次の手順を使用してASP.NETウェブサイトを作成します:

  1. Visual Studio を開く

  2. ファイル > 新しいプロジェクトをクリック

  3. プロジェクト タイプのリストボックスで、Visual C# の下にある Web を選択します。

  4. ASP.NET Web アプリケーションを選択

    図1 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 新しいプロジェクト

    • 「OK」をクリック
    • 次の画面で、図2に示すように「Web Forms」を選択してください。

      図2 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 Web Forms (ウェブフォーム)

  • 「OK」をクリック

    これで作業に取り掛かることができます。 IronPDFをインストールしましょう。


    始めましょう

3. IronPDFライブラリのインストール

IronPDFを利用するには、まずインストールする必要があります。 (無料). 以下の2つのオプションがあります:

  • NuGet (ニューゲット)
  • ライブラリをダウンロード

    詳しく見てみましょう。

    PDF 用 C# NuGet ライブラリ

    でインストール NuGet

    Install-Package IronPdf
    または
    Java PDF JAR(ジャバPDF JAR)

    ダウンロード DLL (ディーエルエル)

    DLLをダウンロード

    プロジェクトに手動でインストールする

    PDF 用 C# NuGet ライブラリ

    でインストール NuGet

    Install-Package IronPdf
    または
    Java PDF JAR(ジャバPDF JAR)

    ダウンロード DLL (ディーエルエル)

    DLLをダウンロード

    プロジェクトに手動でインストールする

    今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

    最初のステップ:
    green arrow pointer

    チェックアウト IronPDF オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、PDFをC#で変革しています。

    PDF 用 C# NuGet ライブラリ nuget.org/packages/IronPdf/
    Install-Package IronPdf

    インストールを検討してください IronPDF DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronPdf.zip

    プロジェクトに手動でインストールする

    DLLをダウンロード

3.1. NuGet を使用してインストール

IronPDF NuGetパッケージをインストールするには、3つの方法があります:

  1. ビジュアルスタジオ

  2. 開発者コマンドプロンプト

  3. NuGetパッケージを直接ダウンロード

    一つずつやりましょう。

    3.2. Visual Studio

Visual Studioは、Microsoftによって開発された統合開発環境(IDE)です。IronPDF for .NET、IronOCR for .NET、IronXL for .NET、IronBarcode for .NET、IronQR for .NET、IronZIP for .NET、IronWord for .NET、IronPrint for .NET、IronWebScraper for .NETを含むIron Softwareの製品を使用する開発者にとって理想的なツールです。Visual Studioは、デザイン、コードの記述、デバッグ、ビルド、デプロイなどのソフトウェア開発プロセスの全てのフェーズをサポートします。

Visual Studioは、プロジェクトにNuGetパッケージをインストールするためのNuGetパッケージマネージャーを提供します。 プロジェクトメニューからアクセスするか、ソリューションエクスプローラーでプロジェクトを右クリックしてください。 以下の図3および図4にこれらのオプションを示します。

図3 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 プロジェクトメニュー

図4 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 ソリューションエクスプローラーを右クリック

オプションのいずれかから「Manage NuGet Packages(NuGetパッケージの管理)」をクリックした後、「IronPDF」パッケージを参照し、図5に示すようにインストールします。

図 5 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 IronPDF NuGetパッケージをインストールする

3.3. Developer Command Prompt

開発者向けコマンドプロンプト

次の手順では、開発者コマンドプロンプトを開き、IronPDF NuGet パッケージをインストールします。

  1. デベロッパー コマンド プロンプトを検索してください - 通常はVisual Studioフォルダの下にあります

  2. 以下のコマンドを入力してください:PM > Install-Package IronPdf

  3. Enterキーを押してください

  4. パッケージがインストールされます。

  5. Visual Studioプロジェクトをリロードしてください

3.4. NuGetパッケージを直接ダウンロードする

NuGetパッケージをダウンロードするために:

  1. 以下に移動します。 https://www.nuget.org/packages/IronPdf/

  2. パッケージをダウンロードするをクリックしてください

  3. パッケージがダウンロードされた後、ダブルクリックしてください。

  4. Visual Studioプロジェクトをリロードしてください

3.5. .DLLライブラリをダウンロードする

IronPDFをインストールする第2の方法は 直接ダウンロード.

図6 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 IronPDFライブラリをダウンロード

次の手順を使用して、プロジェクト内でライブラリを参照してください:

  1. ソリューションエクスプローラーでソリューションを右クリックします

  2. 参照を選択

  3. IronPDF.dllライブラリを参照

  4. 「OK」をクリック

    セットアップが完了したので、iTextSharpのセットアップ後に、IronPDFライブラリの素晴らしい機能を試してみましょう。

    NuGetを使用してiTextSharpをインストールする

    3つの方法があります iTextSharp NuGetをインストールする パッケージには次のものが含まれます:

    • ビジュアルスタジオ
    • 開発者コマンドプロンプト
  • NuGetパッケージを直接ダウンロード

    一つずつやりましょう。

    Visual Studioでは、iTextを検索して次に示す関連パッケージをインストールしてください。

    図7 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 iText

    開発者コマンドプロンプトで (前述のように、以下のコマンドを入力してください。)

  • PM > Install-Package itext7

    または、ダウンロード iText 7 直接彼らのウェブサイトから。

    必要なプロジェクトを作成したので、これら二つのライブラリをコードで比較してみましょう。


    コードを比較する

既存のURLからPDFを作成する

以下のコードはウェブページをダウンロードし、PDFドキュメントに変換します。

4.1. IronPDFを使用したウェブサイトから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");
}
'''
'''IronPDF URL to PDF
'''anchor-ironpdf-website-to-pdf
'''*
Private Sub ExistingWebURL()
	' Create a PDF from any existing web page
	Dim 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() With {
		.CenterText = "{pdf-title}",
		.DrawDividerLine = True,
		.FontSize = 16
	}
	Renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
		.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

	Dim PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")

	PDF.SaveAs("wikipedia.pdf")
End Sub
VB   C#

4.2. iText7 URLからPDFへの変換

以下のコードは、iText7を使用してウェブサイトのアドレスから直接PDFドキュメントを作成し、ヘッダーとフッターを追加します。

/**
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();
}
'''
'''iText URL to PDF
'''anchor-itext-url-to-pdf
'''*
Private Sub ExistingWebURL()
	'Initialize PDF writer
	Dim writer As New PdfWriter("wikipedia.pdf")
	'Initialize PDF document
	Using pdf As New PdfDocument(writer)
	
		Dim properties As New ConverterProperties()
		properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format")
	
		Dim document As Document = HtmlConverter.ConvertToDocument(New FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties)
	
		Dim header As Paragraph = (New Paragraph("HEADER")).SetTextAlignment(TextAlignment.CENTER).SetFontSize(16)
		document.Add(header)
	
		Dim i As Integer = 1
		Do While i <= pdf.GetNumberOfPages()
			Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
			Dim x As Single = pageSize.GetWidth() / 2
			Dim y As Single = pageSize.GetTop() - 20
			document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
			i += 1
		Loop
	
		document.SetTopMargin(50)
		document.SetBottomMargin(50)
	
		document.Close()
	End Using
End Sub
VB   C#

4.3. コード比較

iText 7では、著者が指定されたURLのドキュメントをPDFに変換するコードを開発するのに時間がかかりました。 2行のコードが必要です:

MemoryStream wiki = GetStreamFromUrl("https://en.wikipedia.org/wiki/Tiger");

HtmlConverter.ConvertToPdf(wiki, new FileStream("wikipedia.pdf",FileMode.OpenOrCreate));
MemoryStream wiki = GetStreamFromUrl("https://en.wikipedia.org/wiki/Tiger");

HtmlConverter.ConvertToPdf(wiki, new FileStream("wikipedia.pdf",FileMode.OpenOrCreate));
Dim wiki As MemoryStream = GetStreamFromUrl("https://en.wikipedia.org/wiki/Tiger")

HtmlConverter.ConvertToPdf(wiki, New FileStream("wikipedia.pdf",FileMode.OpenOrCreate))
VB   C#

MemoryStreamオブジェクトおよびFileStreamオブジェクトは、設定されたプロパティで作成する必要があります。

IronPDFを見てみましょう。

IronPDFは3行のコードを必要としました。 (コードセグメントの下部に SaveAs メソッドを含める場合)ただし、他には2行だけが必要でした:

var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf")
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf")
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'PDF.SaveAs("wikipedia.pdf")
VB   C#

追加の .NET オブジェクトや FileStream は不要です。全ての機能は IronPDF の RenderUrlAsPdf メソッドに組み込まれているようです。

4.4. 出力の比較

以下を日本語に翻訳します:

現在、出力の比較を含めています。これはこのチュートリアル中に行うすべての演習に適用されるはずです。

このコードセグメントでは、Tiger Wikipediaを変換しました ウェブページをPDFに変換する 両方のライブラリを使用して。

4.5. iTextSharp 7 ファイル出力

iTextのライブラリを使用して出力されたファイルには49ページがあります。 JavaScriptやCSSがレンダリングされませんでした。 結果の出力は以下の通りです:

図8 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 iText Tiger Wikiページ

4.6. IronPDF ファイル出力

IronPDFのライブラリを使用して出力されたファイルは12ページあります。 JavaScriptとCSSを非常によくレンダリングしました。 結果の出力は以下の通りです:

図9 申し訳ありませんが、翻訳するための具体的なコンテンツが提供されていないようです。翻訳したいテキストを提供してください。 IronPDF Tiger ウィキページ

一枚の写真は千の言葉を伝えます…。 IronPDFはHTMLをPDFに変換する際に優れた性能を発揮します。


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

次のコードはPDFドキュメントを作成し、その中にHTML文字列を印刷します。

5.1. HTMLからIronPDFドキュメント

次のコードは、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;
}
'''
'''IronPDF HTML to PDF
'''anchor-ironpdf-document-from-html
'''*
Private Sub HTMLString()
	' Render any HTML fragment or document to HTML
	Dim Renderer = New IronPdf.ChromePdfRenderer()
	Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>")

	Renderer.RenderingOptions.TextFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}

	Dim OutputPath = "ChromePdfRenderer.pdf"
	PDF.SaveAs(OutputPath)
	Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
End Sub
VB   C#

5.2. iText 7 HTMLから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));
}
'''
'''iText HTML to PDF
'''anchor-itext-html-to-pdf
'''*
Private Sub HTMLString()
	HtmlConverter.ConvertToPdf("< h1 > Hello iText7 </ h1 >", New FileStream("ChromePdfRenderer.pdf", FileMode.Create))
End Sub
VB   C#

5.3. コード比較

iTextは、HTML文字列をPDFとして出力するために、再びHtmlConverter.ConvertToPdf呼び出しを使用しています。

IronPDFは、HTMLおよびPDFと特に連携するように設計されたRenderHtmlAsPdfメソッドを使用します。

どちらのオプションも非常に迅速で要点を押さえていますが、IronPDFはレンダリングプロセスをコントロールする多くの機能を提供し、HTMLを使用してPDFページにヘッダーやフッターを追加することも可能です。


ASPXページをPDFに変換

次のコードはASPXページからPDFドキュメントを作成します。

6.1. IronPDF ASPXからPDFをレンダリング

以下のコードはIronPDFを使用してASPXファイルからPDFを作成します。Webフォームは、Page_Loadイベントに1行のコードを追加することで動的なPDFになります。 IronPdf.AspxToPdf.RenderThisPageAsPdf();`

/**
IronPDF ASPX to PDF
anchor-ironpdf-render-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
/**
IronPDF ASPX to PDF
anchor-ironpdf-render-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
'''
'''IronPDF ASPX to PDF
'''anchor-ironpdf-render-pdf-from-aspx
'''*
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
	IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
VB   C#

6.2. iTextSharp ASPXからPDFへの変換

iText7のpdfHTMLライブラリは、ASPXウェブページからPDFを生成することをサポートしていないように見えます。 この機能はプロジェクトごとにコーディングする必要があります。

開発者はフレームワークからHTMLを取得し、その後pdfHTMLアドオンがそのHTMLをPDFに変換します。


7. XMLをPDFに変換

以下のコードはXMLをPDFに変換します。

7.1. IronPDF は XML から PDF を作成します

/**
IronPDF XML to PDF
anchor-ironpdf-creates-pdf-from-xml
**/
private void XMLtoPDF(string XSLT, string XML)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))  
    {
        transform.Load(reader);
    }

    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(XML))) 
    {
        transform.Transform(reader, null, results);
    }

    IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
    // options, headers, and footers may be set there
    // Render our XML as a PDF via XSLT
    Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("XMLtoPDF.pdf");
}
/**
IronPDF XML to PDF
anchor-ironpdf-creates-pdf-from-xml
**/
private void XMLtoPDF(string XSLT, string XML)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))  
    {
        transform.Load(reader);
    }

    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(XML))) 
    {
        transform.Transform(reader, null, results);
    }

    IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
    // options, headers, and footers may be set there
    // Render our XML as a PDF via XSLT
    Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("XMLtoPDF.pdf");
}
'''
'''IronPDF XML to PDF
'''anchor-ironpdf-creates-pdf-from-xml
'''*
Private Sub XMLtoPDF(ByVal XSLT As String, ByVal XML As String)
	Dim transform As New XslCompiledTransform()
	Using reader As XmlReader = XmlReader.Create(New StringReader(XSLT))
		transform.Load(reader)
	End Using

	Dim results As New StringWriter()
	Using reader As XmlReader = XmlReader.Create(New StringReader(XML))
		transform.Transform(reader, Nothing, results)
	End Using

	Dim Renderer As New IronPdf.ChromePdfRenderer()
	' options, headers, and footers may be set there
	' Render our XML as a PDF via XSLT
	Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("XMLtoPDF.pdf")
End Sub
VB   C#

XSLTファイルの構造は以下の通りです:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <p>Titles:
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>
      <xsl:if test="position() < last()-1">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()-1">
        <xsl:text>, and </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()">
        <xsl:text>!</xsl:text>
      </xsl:if>
    </xsl:for-each>
    </p>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <p>Titles:
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>
      <xsl:if test="position() < last()-1">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()-1">
        <xsl:text>, and </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()">
        <xsl:text>!</xsl:text>
      </xsl:if>
    </xsl:for-each>
    </p>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
HTML

7.2. iTextSharp XMLをPDFに変換

iTextのXMLからPDFへの処理サポートにはカスタム開発作業が必要になる場合があります。


8. 外部入力に基づいてライブチャートを作成する

次のコードは外部ソースからデータを取得し、これに応じてチャートを作成します。

8.1. IronPDFチャート作成

以下のコードは、HTMLからPDFへの変換を使用してIronPDFを使い、迅速にチャートを作成しページプロパティを設定します。

/**
IronPDF Create Chart
anchor-ironpdf-chart-creation
**/
private void Chart()
{
    var Renderer = new ChromePdfRenderer();
    using var PDF = Renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");

    Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
    Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
    PDF.SaveAs("chart.pdf");
}
/**
IronPDF Create Chart
anchor-ironpdf-chart-creation
**/
private void Chart()
{
    var Renderer = new ChromePdfRenderer();
    using var PDF = Renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");

    Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
    Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
    PDF.SaveAs("chart.pdf");
}
'''
'''IronPDF Create Chart
'''anchor-ironpdf-chart-creation
'''*
Private Sub Chart()
	Dim Renderer = New ChromePdfRenderer()
	Dim PDF = Renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006")

	Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
	Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
	PDF.SaveAs("chart.pdf")
End Sub
VB   C#

8.2. iText C# チャート

以下のコードは、iText7を使用してチャートを作成し、プロパティを設定するものです。 プログラム的な描画APIスタイルが見えます。

/**
iText Create Chart
anchor-itext-c-charts
**/
private void Chart()
{
    //Initialize PDF writer
    PdfWriter writer = new PdfWriter("chart.pdf");
    //Initialize PDF document
  using PdfDocument pdf = new PdfDocument(writer);

    ConverterProperties properties = new ConverterProperties();
    properties.SetBaseUri("https://bl.ocks.org/mbostock/4062006");

    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.Close();
}
/**
iText Create Chart
anchor-itext-c-charts
**/
private void Chart()
{
    //Initialize PDF writer
    PdfWriter writer = new PdfWriter("chart.pdf");
    //Initialize PDF document
  using PdfDocument pdf = new PdfDocument(writer);

    ConverterProperties properties = new ConverterProperties();
    properties.SetBaseUri("https://bl.ocks.org/mbostock/4062006");

    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.Close();
}
'''
'''iText Create Chart
'''anchor-itext-c-charts
'''*
Private Sub Chart()
	'Initialize PDF writer
	Dim writer As New PdfWriter("chart.pdf")
	'Initialize PDF document
  Using pdf As New PdfDocument(writer)
	
		Dim properties As New ConverterProperties()
		properties.SetBaseUri("https://bl.ocks.org/mbostock/4062006")
	
		Dim document As Document = HtmlConverter.ConvertToDocument(New FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties)
	
		Dim header As Paragraph = (New Paragraph("HEADER")).SetTextAlignment(TextAlignment.CENTER).SetFontSize(16)
		document.Add(header)
	
		Dim i As Integer = 1
		Do While i <= pdf.GetNumberOfPages()
			Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
			Dim x As Single = pageSize.GetWidth() / 2
			Dim y As Single = pageSize.GetTop() - 20
			document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
			i += 1
		Loop
	
		document.Close()
  End Using
End Sub
VB   C#

9. 商業目的で使用できる無料のiTextSharpライセンスはありますか?

もちろんです。テキストを提供してください。

IronPDFとiTextのライセンスオプションの最大の違いは、iTextSharpがAGPLライセンス契約の下でオープンソースであるという事実です。 簡単に言えば (引用されているように, 「AGPLライセンスは、他のGNUライセンスとは異なり、ネットワークソフトウェア向けに作られたものです。」 変更の追跡を行い、変更日を記録する場合に限り、改変されたバージョンを配布することができます。 通常のGNUライセンスと同様に、派生物はAGPLの下でライセンスされなければなりません。 それはGPLv3と同じ制限と自由を提供しますが、追加の条項として、ウェブ公開とともにソースコードを配布しなければならないことを定めています。 Since websites and services are never distributed in the traditional sense, the AGPL is the GPL of the web."

これは、アプリケーションが iTextSharp を何らかの形で使用している場合、たとえローカルネットワークまたはインターネットを介してであっても、アプリケーションの完全なソースコードをすべてのユーザーが自由に利用できる状態にしなければならないことを意味します。 それは常にプロジェクトの最善の利益になるとは限りません。

このライセンスは、高度な学術研究に使用されることが多く、学術目的に留まることを意図しています。また、学術環境外で展開されるソフトウェアの有料使用を意図しているオープンソースプロジェクトにも利用されています。 AGPLライセンス契約の性質により、オープンソース iTextSharp ライセンスは多くの商用利用ケースにとって難しく、開発者とプライベートライセンスを取り決め、法的に交渉する必要がある場合があります。

反対に、IronPDFは公然と商業的です。 C# PDFライブラリ. 開発用には無料で、商業展開には常にライセンスを取得することができます。 この明確なライセンスモデルは、開発者にGNU / AGPLライセンスモデルの詳細を学ぶ必要がなく、代わりに彼らのプロジェクトに集中することができます。 ライセンスが利用可能です 単一プロジェクトの使用、単一の開発者、エージェンシー、グローバル企業、およびSaaSおよびOEM再配布のために。 法的費用の交渉はなく、ただ単純なライセンス契約のみです。

10. まとめ

IronPDFは:

  • C#およびVB開発者向けの直感的なAPIを備えた.NETファースト
  • 公開された価格でのオープンな商業利用
  • HTMLからPDFへの変換に焦点を当てることで、開発者がPDFの仕組みを学ぶ必要をなくします。
  • 効率的に仕事を遂行したい実践的なプログラマーにとって素晴らしい選択肢です。

    **iText (アイテックス) (iTextSharp) 以下の内容を日本語に翻訳します:

is:**

  • Java First Java First
    • 非常にオープンソース。 厳密なオープンソースAGLPプロジェクト以外での使用については、見積もりを依頼するために彼らに連絡することができます。
    • PDFの内部構造に基づいてプログラムAPIを使用してPDFをレンダリングすることに焦点を当てています。
  • 無料および学術プロジェクトには最適な選択肢であり、また高予算プロジェクトでの高度に技術的な商業PDFアプリケーションにも最適です。

チュートリアル クイック アクセス

このプロジェクトをGitHubからダウンロード

この比較チュートリアルのすべてのソースコードは、GitHubでC#としてアクセスおよび共有することができます。

IronPDFとiTextSharpコードの比較

C# PDF クイックスタート ハンドブックを取得する

私たちは、.NETでのPDF開発を簡単にするための無料PDFリソースガイドを作成しました。このガイドには、共通の機能のチュートリアルや、C#およびVB.NETでPDFを操作、編集、生成、保存するための例が含まれています。

ガイドをダウンロード

IronPDF APIリファレンスを探索する

IronPDF C# ライブラリのAPIリファレンスを探索し、IronPDFのすべての機能、クラス、メソッドフィールド、名前空間、および列挙型の詳細を確認してください。

APIリファレンスを表示
< 以前
IronPDFとEVOPDFの比較 IronPDFとEVOPDFはどちらも、PDF操作のための強力なツールです。以下では、それぞれのツールの特徴を比較して、特にそれぞれのメリットとデメリットを考察します。 ### IronPDF - **長所**: - 簡単なインターフェースで迅速な開発が可能 - .NETフレームワークと高い互換性 - 詳細なドキュメントとサポートが豊富 - HTMLからPDFへの変換が強力 - **短所**: - 初心者にはやや複雑に感じることがある - 他の一部のツールよりも高価 ### EVOPDF - **長所**: - 高速な処理能力 - フレキシブルな価格設定 - さまざまなプラットフォームと互換性がある - **短所**: - ドキュメントやサポートが不足している場合がある - 一部の機能でIronPDFに劣る場合がある それぞれのツールが異なるニーズに応じた機能を提供しています。開発者は、自分のプロジェクトに最適な選択をするために、これらの特徴を慎重に比較検討することが重要です。
次へ >
HTMLからPDFへのSyncfusion PDFビューア比較

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >