フッターコンテンツにスキップ
製品比較

IronPDFとXFINIUM.PDFの比較

進化し続ける技術は、特に開発者にとって、よりスマートな解決策を提供します。 自動化は、今やソフトウェア開発プロセスの鍵となっています。 何年もの間、開発者にとってC#のPDFファイルを扱うことは問題となってきました。 PDFファイルのコンテンツを作成する際には考慮すべき多くの要素があり、異なる形式からPDFにコンテンツを変換する際にはさらに多くの要素があります。 これらの問題は現在、異なる形式からPDFを読み込み、書き込み、作成、変換するために設計された複数のライブラリの構築により解決されています。

この記事では、.NETおよび.NET Coreの開発者にとって最も人気のある2つのPDFライブラリを比較します。 これらの2つのライブラリは次のとおりです:

  • IronPDFライブラリ
  • XFININIUM.PDFライブラリ

IronPDFとXFININIUM.PDFは、.NETおよび.NET CoreでPDFを作成、操作、印刷するためのメソッドを提供する2つのライブラリです。 次の質問は、あなたの.NETプロジェクトにとって最適なC#のPDFライブラリを決定することです。 次の2つのライブラリの比較を読み、PDF変換と操作におけるそれぞれの優れた機能を考慮に入れることで、決定を下すことができます。

まず、2つのライブラリが提供するものを見てから、比較に進みましょう。

XFINIUM.PDFライブラリとその機能

XFINIUM.PDFライブラリは、PDF開発のためのクロスプラットフォームライブラリです。 アマチュアから上級PDF開発者に至るまでの多種多様な機能を提供します。 レポートを作成する場合、PDFフォームを記入する場合、PDFポートフォリオを構築する場合、PDFレポートからセンシティブなデータを編集する場合、またはPDFレポートを複数ページのTIFF画像に変換する場合。

XFINIUM.PDFは2つのエディションで利用可能です:PDFの生成と編集を含むGenerator Editionと、PDFのレンダリングおよび表示を含むViewer Edition。 Featuresセクションでは、どの機能が両方のエディションに含まれているか、Viewer Editionのみに利用可能な機能を説明します。

XFINIUM.PDFは完全にC#で記述されており、完全に管理コードです。 それは開発者ごとにライセンスされており、ロイヤリティフリーの配布が可能で、追加費用なしにプログラムを自由に配布できます。

Generator EditionとViewer Editionの違いは何ですか?

Generator EditionはViewer Editionのサブセットです。 Generator EditionはPDFの作成と編集の機能を提供し、Viewer Editionは生成エディションにPDFレンダリング機能を追加します。 Viewer EditionはPDFページをRAW、BMP、GIF、JPG、PNG、TIFF画像に変換できます。

XFINIUM.PDF仕様

重要な機能には次のものがあります:

セキュリティ

  • ユーザーおよび所有者のパスワード
  • 文書のアクセス権
  • 40ビットおよび128ビットのRC4暗号化
  • 128ビットおよび256ビットのAES暗号化
  • コンテンツの赤裸
  • テキストのコピー/ペーストの無効化

デジタル署名

  • X509証明書を用いたデジタル署名の承認および認証
  • SHA256 / SHA384 / SHA512による基本的なCMSおよびPAdESデジタル署名
  • 署名のタイムスタンプ
  • デジタル署名に含まれるOCSPおよびCRL情報
  • 文書のセキュリティストア
  • 文書のタイムスタンプ
  • LTV(長期検証)有効のデジタル署名
  • 既存の署名をASN.1オブジェクトにデコード
  • デジタル署名からの証明書の抽出
  • 署名済みのPDF文書のコピーを保存

バーコード

  • バーコードエンジンを内蔵し、バーコード画像やバーコードフォントは不要
  • 一次元バーコード:
    • ジェネリックバーコード:Codabar、Code 11、Code 25、Code 25 Interleaved、Code 39、Code 39 Extended、Code 93、Code 93 Extended、Code 128 A、Code 128 B、Code 128 C、COOP 25、Matrix 25、MSI/Plessey
    • 医薬品バーコード:Code 32、Pharmacode、PZN(薬剤番号)
  • 二次元バーコード:
    • DataMatrix、QR、PDF417、Micro PDF417、Codablock F、Code 16K

コンテンツ抽出

  • フラグメントレベルおよびグリフレベルでの位置情報を持つテキストの抽出
  • ワードレベルおよびグリフレベルでの位置情報を持つ単語としてのテキストの抽出
  • ユーザー定義領域からのテキストおよび単語の抽出
  • 画像サイズ(ピクセル単位)、ビット深度、色空間、PDFページ上の画像位置、PDFページ上の画像サイズ、画像の水平および垂直解像度などの画像情報を含む画像の抽出

低レベルCOS API

  • COSオブジェクトの追加、編集、削除
  • サポートされているCOSオブジェクト:文字列、数値、名前、ブール値、ヌル、配列、辞書、ストリーム

PDFレンダリング(Viewer Editionのみ)

  • PDFページを画像にレンダリング:RAW、BMP、GIF、JPG、PNG、TIFF ARGB、RGBA、BGRA、RGB、BGR、およびグレースケールバイトレイアウトのRAW画像
  • PDFをマルチページのTIFF(カラー/グレースケール/白黒CCITT G4)に変換

IronPDFの主な機能

IronPDF .NET PDFライブラリは、開発者、特にC#プログラマーにとっての夢の実現です。 この素晴らしいツールを使えば、.NET用のコアPDFライブラリを簡単に構築できます。

IronPDFは、.NET Chromiumエンジンを使用してHTMLページをPDFファイルに変換します。HTMLからPDFへのPDFの位置指定やデザインに複雑なAPIを使用する必要はありません。 HTML、ASPX、JS、CSS、画像を含む標準オンラインドキュメントに対応しています。

HTML5、CSS、JavaScript、画像を使用して.NET PDFライブラリを開発することもできます。 PDFは簡単に編集、スタンプ、ヘッダーおよびフッターの追加が可能です。 PDFのテキストを読み取り、グラフィックを抽出するのも簡単です。

IronPDFを無料でダウンロードして、.NETプロジェクトで今日から使用を開始してください。

IronPDF C#ライブラリの卓越した機能

ここに主な特徴がいくつかあります:

PDFを作成する (HTMLからPDFへ)

  • HTML4/5、CSS、JavaScriptを使用してPDF文書を作成できます。
  • カスタムネットワークログイン資格情報、ユーザーエージェント、プロキシ、クッキー、HTTPヘッダー、フォーム変数でURLをロードしてHTMLログインフォームの背後でログインを可能にします。

Adobe Acrobatを使わずに既存のPDF文書を編集可能

  • フォームフィールドからデータを読み取り、入力します。
  • PDFからグラフィックとテキストを抽出します。
  • 既存のPDFページに新しいHTMLコンテンツを更新できます。
  • ヘッダーとフッターを論理またはHTMLにします。

既存のPDF文書を操作可能

  • 既存のPDF文書をロードして解析します。
  • PDF文書内のコンテンツをマージおよび分離します。
  • ヘッダー、フッター、注釈、ブックマーク、ウォーターマーク、テキスト、および画像資産を追加します。

さまざまなファイル形式からの変換

  • ASPX WebForms — ASP.NET Webフォームをブラウザで表示可能な印刷可能なPDFに3行のコードで変換できます。
  • HTMLを文書内でPDFに変換します。
  • カスタム「ベースURL」を使用してインターネット上のどこからでもアセットファイルにアクセス可能。
  • 仮想ビューポートが柔軟性のあるデザイン(幅と高さ)を許可します。
  • 任意の主要なファイル形式でエンコードされたHTMLファイルを受け入れる(デフォルトはUTF-8)。

印刷と保存

  • ファイル、バイナリデータ、MemoryStreamsをすべて保存およびロード可能。
  • テレビまたはコンピュータスクリーンのCSSメディアタイプで印刷します。
  • PDFファイルをAdobe AcrobatなしでPrintDocumentオブジェクトに変換して(最小限のコードで)印刷します。
  • APIの成功情報やソースコードでのデバッグ障害を含む公式ログファイルをエクスポートできます。

IronPDFは、C#に対応したほぼすべてのオペレーティングシステムとフレームワークで利用可能です、以下を含む:

  • .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
  • ユニバーサル互換性のための.NET Standard 2.0準拠
  • Azure
  • AWS
  • Docker
  • Linux
  • Windows

IronPDF C#ライブラリインストール

IronPDFライブラリをダウンロードおよびインストールする方法は4つあります。 以下の方法があります:

  1. Visual Studioを使用
  2. 開発者コマンドプロンプト
  3. NuGetパッケージを直接ダウンロード
  4. IronPDF .DLLライブラリをダウンロード

Visual Studioを使用

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

class="content-img-align-center">Visual Studioのプロジェクトメニューを使用したNuGetパッケージマネージャーへのアクセス

class="content__image-caption">図1. Visual Studioのプロジェクトメニューを使用したNuGetパッケージマネージャーへのアクセス

class="content-img-align-center">Visual Studioのコンテキストメニューを使用したNuGetパッケージマネージャーへのアクセス

class="content__image-caption">図2. Visual Studioのコンテキストメニューを使用したNuGetパッケージマネージャーへのアクセス

選択後、下のスクリーンショットに示すようにIronPDFパッケージを探してインストールします。

class="content-img-align-center">Visual StudioでのNuGETパッケージマネージャを使用したIronPDFライブラリのインストール

class="content__image-caption">図3. Visual StudioでのNuGETパッケージマネージャを使用したIronPDFライブラリのインストール

開発者コマンドプロンプトを使用

もう一つの方法は、以下の手順を使用して開発者コマンドプロンプトを通じてIronPDF NuGetパッケージをインストールすることです。

  • 開発者コマンドプロンプトを開く — 通常、Visual Studioのフォルダにあります
  • 次のコマンドを入力:

    nuget install IronPdf
    nuget install IronPdf
    SHELL
  • Enterキーを押します
  • これにより、パッケージがダウンロードおよびインストールされます
  • Visual Studioプロジェクトをリロードして使用を開始

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

IronPDFをダウンロードおよびインストールする方法の3つ目は、以下の手順を実行することです。 これはNuGetサイトに直接アクセスしてパッケージをダウンロードすることによって行うことが可能です。 手順は次の通りです:

  • IronPdf NuGetページに移動
  • パッケージをダウンロードを選択
  • ダウンロードしたパッケージをダブルクリック
  • パッケージはインストールされます
  • Visual Studioプロジェクトをリロードして使用を開始

ライブラリをダウンロードしてIronPDFをインストール

IronPDFダウンロードからIronPDF .DLLファイルを直接ダウンロードできます。

class="content-img-align-center">IronPDFウェブサイトからのIronPDFライブラリDLLのダウンロード

class="content__image-caption">図4. IronPDFウェブサイトからのIronPDFライブラリDLLのダウンロード

次のステップを使用してプロジェクトでライブラリを参照してください:

  • ソリューションエクスプローラーで解決策を右クリック
  • 参照を選択
  • IronPDF.dllライブラリを参照
  • OKをクリック

これで完了です! IronPDFがダウンロードされ、インストールされ、使用の準備が整っています。 しかし、その前に、XFINIUM.PDF APIをインストールする必要があります。

XFINIUM.PDFインストール

.NET Coreでは、cake addinまたはcake toolとしてXfinio PDFをインストールできます。

# Install Xfinium.Pdf.NetCore as a Cake Addin
#addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Addin
#addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
SHELL
# Install Xfinium.Pdf.NetCore as a Cake Tool
#tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Tool
#tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
SHELL

次に、IronPDFとXFINIUM.PDFの比較を掘り下げましょう。

.NET CoreでのシンプルなPDFドキュメントの作成

今日の世界では、ソフトウェア開発者はC#コードを使用して動的にPDFファイルを作成する方法を知っている必要があります。これはほとんどすべてのプロジェクトで必要とされています。 さまざまな理由でPDFファイルを作成する必要があるかもしれません。たとえば、ユーザー入力からレポートを生成したり、ユーザーのテキストをPDFとして保存したり、HTML情報を抽出してPDFに変換したりすることです。

HTMLウェブページをPDFに変換する機能は、両方のライブラリに含まれています。 各ライブラリのコードを一つずつ見てみましょう。

IronPDFを使用する

IronPDFには、PDFファイルを作成するための複数の方法があります。

既存のURLをPDFに変換

IronPDFは、既存のURLからHTMLをPDF文書に変換するのを簡単にします。 JavaScript、画像、フォーム、CSSはすべて高度なサポートを受けています。

次のコードでは、IronPDFを使用してWebサイトのアドレスから直接PDF文書を作成します。

// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the PDF
Pdf.SaveAs("url.pdf");
// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the PDF
Pdf.SaveAs("url.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Render a URL to PDF
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Save the PDF
Pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

HTML入力文字列をPDFに変換

次のコードでは、HTML入力文字列を使用してPDFページをレンダリングする方法を示しています。 HTMLだけを使うことも、CSSや画像、JavaScriptと組み合わせて使用することもできます。

// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");

// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");

// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");

// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");

// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer = New IronPdf.ChromePdfRenderer()

' Render a simple HTML string to PDF
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")

' Save the PDF
PDF.SaveAs("pixel-perfect.pdf")

' Load external HTML assets: images, CSS, and javascript
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
Dim AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")

' Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

XFINIUM.PDFの使用

XFINIUM.PDFを使用して空のPDF文書を作成するには、ドキュメントを作成する1行、1ページを作成する1行、ドキュメントを保存する1行の合計3行のコードだけが必要です。

// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();

// Add a page to the document
PdfPage page = document.Pages.Add();

// Save the document as a PDF file
document.Save("empty.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();

// Add a page to the document
PdfPage page = document.Pages.Add();

// Save the document as a PDF file
document.Save("empty.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()

' Add a page to the document
Dim page As PdfPage = document.Pages.Add()

' Save the document as a PDF file
document.Save("empty.pdf")
$vbLabelText   $csharpLabel

さらに、上記の文書にテキスト内容を追加するための3行のコードが必要です:テキストを書くためのフォント作成、テキスト色を設定するためのブラシ作成、実際にページにテキストとグラフィックスを書き込むためのもの。

// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();

// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);

// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);

// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);

// Save the document as a PDF file
document.Save("helloworld.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();

// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);

// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);

// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);

// Save the document as a PDF file
document.Save("helloworld.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()
Dim page As PdfPage = document.Pages.Add()

' Create a standard font with Helvetica face and 24 point size
Dim helvetica As New PdfStandardFont(PdfStandardFontFace.Helvetica, 24)

' Create a solid RGB red brush.
Dim brush As New PdfBrush(PdfRgbColor.Red)

' Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100)

' Save the document as a PDF file
document.Save("helloworld.pdf")
$vbLabelText   $csharpLabel

私たちのオブジェクトモデルはPDF標準に非常に近いです。 これにより、フロードキュメントなどの複雑な抽象を簡単に構築できます。

生成されたPDFファイルを記入可能にする

XFINIUM.PDFの使用

XFINIUM.PDFライブラリは新しいPDFフォームを作成するだけでなく、既存のPDFフォームに記入することもできます。

PDF規格でサポートされている各タイプのフォームフィールドは、対応するクラスによって表されます:

  • PdfTextBoxField – テキストボックスフィールド
  • PdfCheckBoxField – チェックボックス
  • PdfRadioButtonField – ラジオボタンセット
  • PdfComboboxField – コンボボックス
  • PdfListboxField – リストボックス
  • PdfPushbuttonField – プッシュボタン
  • PdfSignatureField – 署名フィールド

フィールド名とページ上の位置が、フォームフィールドを構築するために必要な唯一の情報です。 フィールドオブジェクトを作成した後、ページに追加していない限り、他の属性を指定することはできません。

// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");

// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);

// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");

// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);

// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
' Create a text box field named "firstname"
Dim firstNameTextBox As New PdfTextBoxField("firstname")

' Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox)

' Set the position of the field on the PDF page
firstNameTextBox.Widgets(0).VisualRectangle = New PdfVisualRectangle(150, 45, 200, 20)
$vbLabelText   $csharpLabel

既存のPDFフォームは、PdfFixedDocumentオブジェクトにロードされていれば記入できます。 フォームをロードした後、文書のフィールドコレクションは、フォーム内に定義されたフィールドで自動的に埋められます。 フィールドはインデックスまたは名前でコレクションに配置され、PdfField基本クラスに定義された汎用値プロパティまたは各フィールドタイプに定義された特定の値プロパティを設定することにより記入されます。

// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");

// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;

// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");

// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;

// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
' Load an existing PDF document with forms
Dim document As New PdfFixedDocument("form.pdf")

' Fill form fields with values
TryCast(document.Form.Fields("firstname"), PdfTextBoxField).Text = "John"
TryCast(document.Form.Fields("lastname"), PdfTextBoxField).Value = "Doe"
TryCast(document.Form.Fields("sex").Widgets(0), PdfRadioButtonWidget).Checked = True
TryCast(document.Form.Fields("firstcar"), PdfComboBoxField).SelectedIndex = 0
TryCast(document.Form.Fields("secondcar"), PdfListBoxField).SelectedIndex = 1
TryCast(document.Form.Fields("agree"), PdfCheckBoxField).Checked = True

' Save the filled form as a new PDF file
document.Save("form_filled.pdf")
$vbLabelText   $csharpLabel

IronPDFを使用する

IronPDF C#ライブラリを使用して記入可能なPDFを作成する方法を見てみましょう。

// PM> Install-Package IronPdf
using IronPdf;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>";

// Create a PDF renderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
var LastNameField = FormDocument.Form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
// PM> Install-Package IronPdf
using IronPdf;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>";

// Create a PDF renderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
var LastNameField = FormDocument.Form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
' PM> Install-Package IronPdf
Imports IronPdf

' Step 1. Creating a PDF with editable forms from HTML using form and input tags
Private FormHtml = "
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>"

' Create a PDF renderer
Private Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf")

' Step 2. Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")

'Set and Read the value of the "firstname" field
Dim FirstNameField = FormDocument.Form.FindFormField("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)

'Set and Read the value of the "lastname" field
Dim LastNameField = FormDocument.Form.FindFormField("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)

' Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf")
$vbLabelText   $csharpLabel

次のコードでHTMLフォーマットタグを使用してフォームを作成することから始めます。 その後、PDF文書として保存します。 ステップ#2でPDFフォームの値の読み取りと書き込みを開始します。フィールド名を使用してフォームフィールドにアクセスできます。 IronPDFではFindFormField関数を利用できます。 選択したフィールドの値が設定され、その後、新しく記入されたフォームが保存されます。

PDFファイルのデジタル署名

現代の時代においては、多くの人がリモートで働いています。 フォームに記入し、署名し、ファイルを送信し、文書を処理することは、企業が日常的に完了させる必要がある主要な活動のいくつかです。 PDF文書、PDFポートフォリオ、PDFフォームへの署名は紙文書の代替手段としての主要な活動の一つです。 デジタル署名は、契約や契約書の署名およびPDFフォームのオンライン共有の手段を模索する際に必須となっています。

XFINIUM.PDFの使用

PDFファイルの署名フィールドはデジタル署名を適用するために使用されます(PdfSignatureFieldクラス)。 署名フィールドは文書のページのいずれかに表示されるフォームフィールドですが、デジタル署名はそのページだけでなく文書全体に署名するために使用されます。

署名プロセスは、署名フィールドの署名属性を設定するためにPdfDigitalSignatureオブジェクトを使用することから始まります。 署名はPDFファイルの実際のバイナリレイアウトに基づいているため、文書が保存されたときに形成されます。

PdfDigitalSignatureクラスは、すべてのXFINIUMデジタル署名の基盤です。

いくつかの署名クラスから選択できます:

  • PdfCmsDigitalSignature – CMS標準に基づいたデジタル署名(PdfDigitalSignatureを継承)
  • PdfPadesDigitalSignature – PADES標準を実装するデジタル署名(PdfCmsDigitalSignatureを継承)
  • PdfInteractiveCmsDigitalSignature – CMS標準に基づいたデジタル署名で、デジタル署名を作成するためにハードウェア署名スマートカードを使用できる(PdfDigitalSignatureを継承)
  • PdfInteractivePadesDigitalSignature – PADES標準を実装し、デジタル署名を作成するためにハードウェア署名スマートカードを使用できる(PdfInteractiveCmsDigitalSignatureを継承)
  • PdfDocumentTimeStamp – ドキュメントレベルのタイムスタンプ(PdfDigitalSignatureを継承)

IronPDFを使用する

開発者は、プログラム的にIronPDFとC#を使用してPDFに署名を追加することについてよく質問します。 これは開発者にとってさまざまな意味を持ちます:

  • 画像ファイルから既存のPDFにグラフィカルなデジタル署名画像を追加する。
  • 暗号的に署名することでPDFが改ざんされていないことを確認します。
  • 暗号的に署名されたPDFに、人間の手書きの署名アイコンを追加します。

最初のアプローチは、既存のPDFページに署名PNGをスタンプすることを含みます。 署名または会社のスタンプとして使用することができます。不透明度が奨励されます。 手続きを完了するのに必要なのはほんの数行のコードです。

// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");

// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
    Html = "<img src='signature.png' />",
    Width = 150,
    Height = 50,
    Bottom = 300,
    Left = 85,
    ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};

// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);

// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");

// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
    Html = "<img src='signature.png' />",
    Width = 150,
    Height = 50,
    Bottom = 300,
    Left = 85,
    ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};

// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);

// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
' Open an existing PDF document or create a new one
Dim Pdf = PdfDocument.FromFile("C:\Path\To\ASPX to PDF.pdf")

' Define an HTML stamp with a signature image
Dim SignatureStamp = New HtmlStamp() With {
	.Html = "<img src='signature.png' />",
	.Width = 150,
	.Height = 50,
	.Bottom = 300,
	.Left = 85,
	.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}

' Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1)

' Save the stamped PDF
Pdf.SaveAs("C:\Path\To\Stamped_PDF.pdf")
$vbLabelText   $csharpLabel

次のコードは、.pfxおよび.p12 X509Certificate2デジタル証明書を使用してPDFを暗号的に署名します。これはたった1行のコードで簡単に作成できます。

// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
' 123456 below represents the signature password
Call (New IronPdf.PdfSignature("CertificateFile.p12", "123456")).SignPdfFile("ASPX to PDF.pdf")
$vbLabelText   $csharpLabel

このより高度な例では、スキャンされた手書き署名の画像と.pfx/.p12 X509Certificate2デジタルID署名方法を組み合わせることが可能です。

// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");

// Render a PDF document to be signed
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");

// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");

// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);

// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");

// Render a PDF document to be signed
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");

// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");

// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);

// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
' Create a digital signature using a certificate file
Dim Signature = New IronPdf.PdfSignature("Iron.pfx", "123456")

' Render a PDF document to be signed
Dim doc As PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>")

' Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com"
Signature.SigningLocation = "Chicago, USA"
Signature.SigningReason = "To show how to sign a PDF"
Signature.LoadSignatureImageFromFile("handwriting.png")

' Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature)

' Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf")
$vbLabelText   $csharpLabel

モダンCSSフレームワークとBootstrap HTMLレンダリング

モダンウェブアプリケーションは、UI開発を迅速化し、レスポンシブデザインを確保するためにBootstrapのようなCSSフレームワークを頻繁に使用します。 PDF生成ツールは、プロフェッショナルな文書品質を維持するためにこれらのフレームワークのレイアウトを正確に保持しなければなりません。

IronPDF:包括的なBootstrapフレームワークのサポート

IronPDFのChromiumレンダリングエンジンは、最新のCSSフレームワークとWeb標準を完全にサポートします:

  • Bootstrap 5:すべてのレスポンシブコンポーネントを含むフレックスボックスとCSSグリッドレンダリングのフルサポート
  • Bootstrap 4:完全なカードシステム、ナビゲーションバー、ユーティリティクラスを含む
  • Tailwind CSS:ユーティリティ優先クラスとレスポンシブ変異体のすべて
  • Foundationと他のフレームワーク:完全なCSS3サポートにより、すべてのモダンフレームワークが正しく機能
  • 高度なCSS:フレックスボックス、CSSグリッド、カスタムプロパティ、アニメーション、変形

Real-world validation: Bootstrap homepage and templates convert with browser-accurate fidelity.

コード例:Bootstrapカードを用いたイベントスケジュール

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>

        <div class='row g-4'>
            <div class='col-md-6'>
                <div class='card border-primary'>
                    <div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Keynote Session</h5>
                        <span class='badge bg-light text-primary'>9:00 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>The Future of AI in Software Development</strong></p>
                        <p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development landscape.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Dr. Sarah Chen</div>
                                <small class='text-muted'>AI Research Lead</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-success'>
                    <div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Workshop</h5>
                        <span class='badge bg-light text-success'>10:30 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
                        <p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
                        <p class='card-text'>Learn practical techniques for building scalable, cloud-native applications with modern frameworks.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Michael Rodriguez</div>
                                <small class='text-muted'>Cloud Architect</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-warning'>
                    <div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Panel Discussion</h5>
                        <span class='badge bg-dark'>2:00 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>Security in Modern Web Applications</strong></p>
                        <p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
                        <small class='text-muted'>Featuring 4 industry experts</small>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-info'>
                    <div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Technical Talk</h5>
                        <span class='badge bg-light text-info'>3:30 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
                        <p class='card-text'><strong>Performance Optimization Strategies</strong></p>
                        <p class='card-text'>Deep dive into advanced techniques for optimizing application performance and reducing latency.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Alex Kim</div>
                                <small class='text-muted'>Performance Engineer</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
pdf.SaveAs("conference-schedule.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>

        <div class='row g-4'>
            <div class='col-md-6'>
                <div class='card border-primary'>
                    <div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Keynote Session</h5>
                        <span class='badge bg-light text-primary'>9:00 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>The Future of AI in Software Development</strong></p>
                        <p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development landscape.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Dr. Sarah Chen</div>
                                <small class='text-muted'>AI Research Lead</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-success'>
                    <div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Workshop</h5>
                        <span class='badge bg-light text-success'>10:30 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
                        <p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
                        <p class='card-text'>Learn practical techniques for building scalable, cloud-native applications with modern frameworks.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Michael Rodriguez</div>
                                <small class='text-muted'>Cloud Architect</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-warning'>
                    <div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Panel Discussion</h5>
                        <span class='badge bg-dark'>2:00 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>Security in Modern Web Applications</strong></p>
                        <p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
                        <small class='text-muted'>Featuring 4 industry experts</small>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-info'>
                    <div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Technical Talk</h5>
                        <span class='badge bg-light text-info'>3:30 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
                        <p class='card-text'><strong>Performance Optimization Strategies</strong></p>
                        <p class='card-text'>Deep dive into advanced techniques for optimizing application performance and reducing latency.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Alex Kim</div>
                                <small class='text-muted'>Performance Engineer</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
pdf.SaveAs("conference-schedule.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力:Bootstrapのカードグリッド、フレックスボックス配置、バッジコンポーネント、レスポンシブレイアウトを正確にレンダリングしたプロフェッショナルな会議スケジュール。

XFINIUM.PDF:HTMLとフレームワークのサポートが限られている

XFINIUM.PDFは主にPDF生成および操作に焦点を当てており、HTMLからPDFへの変換ではありません。 ライブラリはBootstrapおよびモダンCSSフレームワークに関して重大な制限があります:

  • ネイティブHTMLレンダリングなし:XFINIUM.PDFは組み込みのHTMLからPDFへの変換エンジンを含んでいません
  • 基本的なHTMLサポートのみ:高度なCSSを使用せずに単純なHTML構造に限定
  • Bootstrapサポートなし:フレックスボックスとCSSグリッドを使用したモダンBootstrapフレームワーク(4/5)はサポートされていません
  • 回避策が必要:開発者は低レベルのPDF APIを使用してレイアウトを手動で再現する必要があります
  • 外部ツールが必要:外部のHTMLレンダリングエンジンと統合する必要があるかもしれません

開発への影響:BootstrapまたはモダンCSSフレームワークを使用するアプリケーションは、XFINIUM.PDFを使用してUIを直接PDFに変換することはできません。 開発者は次のいずれかを行う必要があります:

  1. XFINIUM.PDFの低レベル描画APIを使用してレイアウトを再現する(開発時間が大幅に増加)
  2. 外部のHTMLレンダリングツールを統合する(追加の複雑さと依存関係)
  3. Web UIに平行して分離されたPDFレイアウトコードを維持する(保守のオーバーヘッド)

特にBootstrapなどのモダンフレームワークを使用したHTMLからPDFへの変換を必要とするプロジェクトにおいて、XFINIUM.PDFの制限により、開発の大幅な追加努力がなければ適切ではありません。

Bootstrap & Flexbox CSSガイドを参照して、包括的なBootstrapおよびモダンCSSフレームワークサポートをご覧ください。

価格とライセンス

XFINIUM.PDFの価格とライセンスについて

各パッケージは2つのエディションで利用可能です:PDF生成および編集機能を提供するGenerator Editionと、生成エディションのすべての機能に加えてPDFレンダリングおよび表示を含むViewer Edition。

  • 各開発者はXfinium PDFライブラリのライセンスを持ちます。 XFINIUMのコードを生成する各開発者は、このPDFファイルのライブラリのライセンスが必要です。
  • XFINIUM.PDFは、ライセンスの一部として、無制限の数のデスクトップPCおよびサーバーにロイヤリティフリーで送信することができます。
  • 1年間の「アシスタンスサブスクリプション」で、1年間の無料アップデートと技術サポートが提供されます。

価格はそれぞれのパッケージに応じて、年間$290.00~$872.00まで異なります。

IronPDFの価格とライセンス

一方、IronPDFはC#用PDFライブラリです。 開発用には無料で使用でき、必要に応じて商業用にライセンス取得できます。シングルプロジェクトライセンス、シングルデベロッパー、代理店、国際企業、およびSaaSおよびOEM再配布にも対応しています。 こちらでIronOCRの全価格構造とライセンスの詳細を見ることができます。 Liteパッケージは$799で利用可能です。 IronPDF製品に継続的な費用はありません。

結論

Iron PDFライブラリは、プロプライエタリAPIに頼ることなくPDF文書を作成するのを簡単にします。"HTML-To-PDF"は、HTML、JS、CSS、JPG、PNG、GIF、SVGなどのオープン標準文書タイプをピクセルパーフェクトなPDFに変換します。 言い換えれば、開発者が既に持っているスキルを基に構築しています。 ユーザーは文書をダウンロードしたり、メールで送信したり、クラウドに保存して、請求書、見積もり、レポート、契約書、その他の文書を作成することができます。 ASP.NET、ASP.NET Core、Webフォーム、MVC、.NET Framework、.NET Core Web APIで動作します。

XFINIUM.PDFライブラリは初心者から上級のPDF開発者まで、幅広い機能を備えています。 シンプルなレポートを作成する場合、PDFフォームに記入する場合、PDFポートフォリオを構築する場合、PDFファイルからの機密情報を削除する場合、またはPDFファイルを複数ページのTIFF画像に変換する場合には、必要なツールが揃っています。 生成されたPDFファイルを完全に制御することができます。基本的なオブジェクトモデルはPDF仕様に準拠しているからです。 XFINIUM.PDFコードは、サポートされているすべてのプラットフォームで変更なしにコンパイルできます。 XFINIUM.PDFコレクションはお手伝いします。

XFINIUM.PDFライセンスは、ジェネレータとビューアの2つのエディションで提供されており、それぞれの価格は$290から$387の範囲です。 これは、$799で始めるライトバージョンを持つIronPDFよりもやや安価です。 IronPDFは、単一および複数ユーザーライセンスの両方を提供しているため優れていますが、XFINIUM.PDFは単一ユーザーライセンスしか提供していません - つまり、すべての開発者にライセンスが必要です。 一方、IronPDFは$799で始めるプロフェッショナルライセンスを提供しており、無制限のユーザーが使用できます。

IronPDFを使用すると、XFINIUM.PDFよりも簡単にPDFファイルを操作できます。 IronPDFは複雑な操作に対してコード行数が少ないため、プログラマーの作業負荷を軽減します。

Iron Software社は、すべての顧客にわずか2クリックでスイート全体のパッケージを取得するオプションも提供しています。 つまり、Iron Softwareスイートの2つのライブラリの価格で、現在5つのライブラリすべてを取得し、それらすべてに対する途切れないサポートが受けられます。

ご注意XFINIUM.PDFはその所有者の登録商標です。 このサイトは、XFINIUM.PDFと関連がなく、支持されておらず、支援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

HTMLからPDFへの変換におけるIronPDFの主な機能は何ですか?

IronPDFは.NETのChromiumエンジンを活用してHTMLをPDFに変換します。HTML5、CSS、JavaScript、および画像の統合をサポートしており、WebコンテンツからPDFを作成するための包括的なソリューションです。

XFINIUM.PDFは.NET用の他のPDFライブラリとどのように比較されますか?

XFINIUM.PDFはGeneratorとViewerの2つのエディションを提供するクロスプラットフォームライブラリです。PDFの作成、編集、レンダリングで優れ、セキュリティ、デジタル署名、バーコードのサポートなどの機能を含んでいます。

IronPDFはAzureやAWSのようなクラウドプラットフォームで使用できますか?

はい、IronPDFはAzureやAWSを含むさまざまなプラットフォームと互換性があり、クラウド環境でのPDFソリューションの柔軟な展開を可能にします。

.NETプロジェクトにおけるIronPDFのインストールオプションは何ですか?

IronPDFはVisual StudioのNuGetパッケージマネージャ、開発者コマンドプロンプトを使用してインストールするか、直接NuGetパッケージまたはライブラリDLLをダウンロードしてインストールできます。

IronPDFのPDF編集機能は何ですか?

IronPDFはフォームフィールドの入力、文書のマージ、テキストおよび画像の抽出を含む広範なPDF編集を可能にします。また、ヘッダー、フッター、注釈の追加をサポートしています。

IronPDFとXFINIUM.PDFのライセンスオプションの違いは何ですか?

XFINIUM.PDFはロイヤリティフリーの配布で開発者1人あたり$290からライセンスを提供しています。IronPDFは無制限のユーザー用のプロフェッショナルライセンスを含む、より広範なライセンスオプションを提供しています。

XFINIUM.PDFはどのようなセキュリティ機能を提供していますか?

XFINIUM.PDFはユーザーおよびオーナーパスワード、文書アクセス権、RC4およびAES暗号化、コンテンツの削除をサポートしており、文書の安全性を確保します。

なぜ開発者はプロジェクトにIronPDFを選ぶのですか?

開発者は、IronPDF を選ぶことでコード行数が減り、シングルおよびマルチユーザーライセンスに柔軟に対応できます。

IronPDFはPDF内のフォーム入力をどのように処理しますか?

IronPDFはPDF内のフォームフィールドを入力するためのツールを提供し、動的な文書作成やユーザーインタラクションを可能にします。

これらのPDFライブラリにおけるデジタル署名の能力は何ですか?

IronPDFとXFINIUM.PDFの両方は、文書の真正性と整合性を安全に検証するためにデジタル署名をサポートしています。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。