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

IronPDFとApryse C#の比較

1. はじめに

C# 開発者として、PDF を扱うことは、特にドキュメントを生成、編集、表示する必要があるアプリケーションを作成する際に、私たちの仕事の一般的な部分です。 そのため、優れた PDF ライブラリを持つことは非常に重要です。 これらのライブラリは、ドキュメントの変換、テキストの編集、PDF 内の画像の処理などの複雑なタスクに対して組み込みの関数を提供することで、時間と手間を節約します。 これらがなければ、私たちはすべてそのコードをゼロから書かなければならず、非常に時間がかかるだけでなく、エラーを起こしやすくなります。

In this comparison, we're looking at two popular PDF libraries: IronPDF and Apryse C#. IronPDF は、HTML の PDF への変換から高度なドキュメント編集まで、.NET 環境で PDF を扱うのを容易にする強力な機能で知られています。 一方 Apryse C# は、使用の簡便性と効率に重点を置いた PDF 操作の効率的な手法を提供しています。 それぞれのライブラリが提供するものの詳細を掘り下げて、プロジェクトに最適なライブラリを選ぶ手助けをしたいと思います。

2. Apryse C

IronPDF & Apryse C# の比較:図 1 - Apryse C# ウェブページ

Apryse C# は、.NET アプリケーション向けの総合的な PDF ライブラリであり、C# 環境内での PDF 操作のプロセスを簡略化するように設計されています。 以前は PDFTron SDK として知られていました。 その幅広い機能とツールの範囲は、PDFを正確かつ簡単に扱いたい開発者にとって非常に貴重な資産となります。

2.1 キーフィーチャー

  • .NET プロジェクトとの簡単な統合: Apryse C# は、ASP.NET Coreや従来の.NET Frameworkアプリケーションを含む.NETとのシームレスな統合を提供します。 これにより、長時間のセットアップや構成を行わずに、PDF機能をプロジェクトに直接取り込むことができます。
  • ドキュメントの作成と編集: 開発者がApryse C#を使用してゼロからPDFを作成するか、既存のものを編集することができます。 これには、テキスト、画像、フォームの追加、ページの並べ替え、結合、分割などが含まれます。
  • HTML から PDF への変換: Apryse C# を使用して、HTML コンテンツを PDF 形式に変換するのは簡単です。 この機能は、ウェブページやHTMLテンプレートから請求書、レポート、その他のドキュメントを生成するのに特に役立ちます。
  • フォームフィールドの広範なサポート: Apryse C# は、フォームフィールドを作成、編集、および自動的に入力するためのボリュームのあるサポートを提供します。 これは、ユーザー入力や外部データソースに基づいてフォームを自動的に生成するのに理想的です。
  • テキストとコンテンツの抽出: このライブラリは、PDFドキュメントからテキストやその他のコンテンツを抽出できます。 この機能は、PDFに含まれる情報を分析または処理する必要があるアプリケーション、たとえば検索ツールやコンテンツ管理システムに不可欠です。
  • セキュリティと暗号化: Apryse C# は、PDF ドキュメントの暗号化、権限の設定、デジタル署名の管理を含む包括的なセキュリティ機能を提供します。 これにより、機密文書が保護され、コンプライアンス基準を満たします。
  • 高度な PDF 機能: 開発者は、注釈、ブックマーク、ハイパーリンクなどの高度な PDF 機能を活用して、PDF ドキュメントのインタラクティビティと使いやすさを向上させることができます。 これにより、より動的でユーザーフレンドリーな PDF を作成できます。

3. IronPDF C

IronPDF & Apryse C# の比較:図 2 - IronPDFのウェブページ

IronPDF は、.NET 開発者向けの多用途かつ強力な PDF ライブラリとして際立っています。 PDF操作の複雑なプロセスを簡略化し、C# アプリケーション内で直接 PDF ドキュメントを作成、編集、変換することができます。 IronPDF は、異なるプログラミング言語で利用でき、Java、Python、C# で利用可能です。 IronPDFは、幅広いPDF処理ニーズに対応するように設計されており、効率性と信頼性を求める開発者にとっては頼りになるソリューションです。

3.1 主な機能

  • シームレスな.NET統合: IronPDF は、.NET Framework と .NET Core の両方をサポートし、.NET プロジェクトとの簡単な統合が可能です。 この互換性により、複雑なセットアップを必要とせずにアプリケーションに PDF 機能を組み込むことができます。
  • HTML から PDF への変換: IronPDF の際立った機能の 1 つは HTML を PDF に変換する 能力です。 この機能により、開発者はウェブページや HTML 文字列を高品質の PDF ドキュメントに変換し、HTML テンプレートからのレポート、領収書、その他の文書を生成することができます。
  • 高度な PDF 編集: IronPDF を使用すると、開発者は PDF ドキュメントを広範に編集することができます。 これには、テキスト、画像、ベクター グラフィックの追加、および PDF ファイル内の既存のコンテンツの変更が含まれます。 IronPDF は、特定の要件に従って PDF をカスタマイズするための包括的な編集ツールを提供します。
  • PDF フォームの処理: IronPDF は、PDF フォーム の操作に対して堅牢なサポートを提供します。 これにより、フォーム フィールドの作成と編集、およびプログラムによるフォームの入力が可能になります。 これは、ドキュメント ワークフローとデータ入力プロセスを自動化するのに特に役立ちます。
  • コンテンツの抽出: このライブラリは、PDFドキュメントからテキスト、画像、さらにはメタデータを抽出する際に秀でています。 この機能は、コンテンツ分析からデータ移行プロジェクトに至るまで、さまざまなアプリケーションに対応しており、開発者がPDFコンテンツを効果的に取得および利用することを可能にします。
  • ドキュメントセキュリティ: IronPDF は、パスワード保護、暗号化、PDF ドキュメントの権限管理のサポートを含む包括的なセキュリティ機能を提供します。 これにより、機密情報がセキュリティ保護され、ドキュメント アクセスが制御されます。
  • パフォーマンスとスケーラビリティ: パフォーマンスを重視して設計された IronPDF は、速度とスケーラビリティが最適化されており、パフォーマンスを損なうことなく、大量の PDF ドキュメントを処理したり、高需要のアプリケーションに対応したりするのに適しています。
  • 包括的なドキュメントとサポート: IronPDF は、広範なドキュメントと対応の早いサポートチームによってサポートされています。 これは、開発者がリソースやアシスタンスにアクセスして、プロジェクト内で PDF 機能を効果的に実装し、トラブルシューティングを行うために必要な手段を持っていることを確保します。
  • さまざまな PDF 標準との互換性: IronPDF C# は、さまざまな PDF 標準をサポートしており、ドキュメントが異なるビューアと互換性があり、業界の仕様を満たすようにします。 This includes support for PDF/A for archival purposes, PDF/UA for accessibility, and more.

4. C#コンソールアプリケーションを作成する

Visual Studioでコンソール アプリケーションを作成するプロセスは、迅速で簡単であり、IronPDF や Apryse C# などのライブラリを使用した PDF 操作を含む任意の .NET 開発プロジェクトの基礎を築くことができます。 開始方法は次のとおりです。

4.1 Visual Studio を起動

コンピュータでVisual Studioを開きます。 まだ Visual Studio をインストールしていない場合は、Microsoft の公式ウェブサイトからダウンロードしてインストールし、自分のニーズに合ったバージョンを選択してください。

4.2 新しいプロジェクトを作成

Visual Studio が開いたら、初期ダッシュボードから「新しいプロジェクトを作成」オプションを選択します。

IronPDF & Apryse C# の比較:図 3 - 新しい VS プロジェクトを作成する

4.3 プロジェクトの種類を選択

"新しいプロジェクトの作成" ウィンドウが表示されますので、多様なプロジェクトテンプレートが表示されます。 検索ボックスに "コンソール" と入力するか、リストから "コンソール アプリケーション" テンプレートを見つけてください。

必ずC#を対象としたテンプレートを選んでください。他の言語ではありません。

IronPDF & Apryse C# の比較:図 4 - コンソールアプリケーションテンプレートを選択する

4.4 プロジェクトを設定する "コンソール アプリケーション" テンプレートを選択した後、「次へ」ボタンをクリックします。

新しいプロジェクトを設定するよう求められます。

  • プロジェクト名: プロジェクトの名前を入力してください。
  • 場所: コンピュータ上でプロジェクトを保存したい場所を選択してください。

  • ソリューション名: デフォルトではプロジェクト名と一致していますが、必要に応じて変更できます。

IronPDF & Apryse C# の比較:図 5 - プロジェクトの詳細を設定する - フレームワーク: 使用したい .NET のバージョンを選択してください。

特定の要件がない限りは、最新のバージョンが推奨されます。

IronPDF & Apryse C# の比較:図 6 - 適切な .NET フレームワークを選択する

4.5 プロジェクトを作成する プロジェクトの設定が完了したら、"作成" ボタンをクリックします。

Visual Studio は、デフォルトのProgram.cs ファイルを含む新しいコンソール アプリケーション プロジェクトを設定します。

4.6 プロジェクト構造を探索する ソリューション エクスプローラー ペインで生成されたプロジェクト構造を探索するための時間を設けましょう。コンソールアプリケーションの場合、主に作業するのは Program.cs ファイルで、ここに C# コードを記述します。

5. IronPDF ライブラリをインストール

IronPDF ライブラリを .NET プロジェクトに統合することで、その包括的な PDF 操作機能を活用できます。 IronPDF をインストールする方法は複数あり、開発環境の設定やワークフローの好みに応じて柔軟性があります。

5.1 NuGet パッケージマネージャを使用する

Visual Studio の NuGet パッケージ マネージャーは、ライブラリや依存関係を管理するための使いやすいインターフェースを提供します。

  1. Visual Studio でプロジェクトを開きます。
  2. ソリューション エクスプローラーでプロジェクトを右クリックし、「NuGet パッケージの管理」を選択します。
  3. 「参照」タブをクリックし、「IronPdf」を検索します。
  4. IronPDFを検索結果から見つけて選択し、「インストール」をクリックします。Visual Studioが残りの処理を行い、IronPDFをプロジェクトに追加します。

IronPDF & Apryse C# の比較:図 7 - NuGet パッケージマネージャーを通じて IronPDF をインストールする

5.2 Visual Studio コマンドラインの使用

コマンド ラインを使用したい方には、Visual Studio のパッケージ マネージャー コンソールがパッケージを直接インストールするための方法を提供します。

  1. Visual Studio を開き、プロジェクトへ進みます。
  2. ツール > NuGet パッケージ マネージャ > パッケージ マネージャ コンソールに移動します。
  3. コンソールに次のコマンドを入力し、 Enter を押します。
Install-Package IronPdf

このコマンドは、プロジェクトに最新の IronPDF バージョンをダウンロードしてインストールします。

5.3 NuGet Webページからの直接ダウンロード

プロジェクトに統合する前にパッケージを手動でダウンロードしたい場合は、NuGet のウェブサイトからそれを実行できます。

  1. NuGet のウェブサイトにアクセスし、「IronPdf」を検索します。
  2. IronPdf パッケージページで、「パッケージをダウンロード」リンクを見つけてクリックし、.nupkg ファイルをダウンロードします。

IronPDF & Apryse C# の比較:図 8 - NuGet ウェブページを通じて IronPDF をインストールする

  1. ダウンロードが完了したら、手動でプロジェクトにパッケージを追加します。 Visual Studio で、ソリューション エクスプローラーに進み、プロジェクトを右クリックして「追加 > 参照の追加」を選択します。ダウンロードした .nupkg ファイルの場所に移動し、それを選択してプロジェクトに追加します。

これらの各方法により、IronPDF を .NET プロジェクトに成功裏に統合でき、その強力な PDF 処理機能を利用できるようになります。

6. Apryse C# のインストール

Apryse C# を C# プロジェクトに統合するには、.NET Framework または .NET Core で作業しているかどうか、また好みの開発環境によっていくつかの選択肢があります。 以下に、Apryse のドキュメントや設定ガイドに基づいた一般的な手順を示します。

6.1 .NET Framework 用

  1. Windows 用に Apryse SDK をダウンロード: .NET Framework アプリケーションに適した SDK をダウンロードするには、Windows 用 Apryse SDK ページに移動する必要があります。

IronPDF & Apryse C# の比較:図 9 - Apryse SDK をApryseのウェブサイトでダウンロード

  1. SDK を展開: ダウンロードが完了したら、SDK をシステムの既知の場所に展開します。
  2. 試用版 Apryse キーを取得:Apryse プラットフォームに登録し、試用版機能をアクティブ化する試用版のキーを取得します。
  3. プロジェクトを設定: Visual Studio で、新しい .NET Framework コンソール アプリケーションを作成します。 展開済み SDK の Lib フォルダーをプロジェクト ディレクトリに追加します。
  4. 参照を追加: プロジェクトの参照を右クリックし、「参照の追加」を選択し、展開済みの SDK から PDFNetLoader.dll とアーキテクチャ (x86 または x64) 用の適切な PDFNet.dll の場所に移動します。 PDFNet.dll の 「ローカルコピー」 プロパティが false に設定されていることを確認してください。
  5. App.config を設定: App.config ファイルが true に設定されている loadFromRemoteSources 設定を含んでいることを確認してください。

SDK にはサンプル フォルダーがあります。 これらのサンプル ソリューションを直接開いて実行できます。

7. IronPDF 高度な機能

7.1 HTMLからPDFへの変換

IronPDF は HTML を PDF ドキュメントに変換することに優れています。 この機能は、レポート、請求書、または Web ページのスナップショットを PDF ファイルとして生成する必要がある Web アプリケーションにとって不可欠です。 このライブラリは、HTML、CSS、および JavaScript を正確にレンダリングし、生成された PDF 内の Web コンテンツのレイアウトとスタイルをキャプチャします。

7.1.1 HTML文字列からPDFへ

HTML文字列を直接PDFに変換すると、アプリケーション内で生成されたHTMLコンテンツや変数に保存されたコンテンツから動的なPDFの作成が可能になります。 これは、ユーザー入力やアプリケーションデータに基づいてカスタマイズされたレポート、領収書、ドキュメントを生成するのに特に便利です。

using IronPdf;

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Define a simple HTML string to convert to PDF
string htmlContent = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>My PDF</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1 {
            color: #333;
            text-align: center;
        }
        p {
            color: #666;
            text-align: justify;
        }
    </style>
</head>
<body>
    <h1>Welcome to My PDF</h1>
    <p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
    <p>You can add more content here as needed.</p>
</body>
</html>";

// Render the HTML string as a PDF
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the resulting PDF to a file
pdf.SaveAs("output.pdf");
using IronPdf;

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Define a simple HTML string to convert to PDF
string htmlContent = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>My PDF</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1 {
            color: #333;
            text-align: center;
        }
        p {
            color: #666;
            text-align: justify;
        }
    </style>
</head>
<body>
    <h1>Welcome to My PDF</h1>
    <p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
    <p>You can add more content here as needed.</p>
</body>
</html>";

// Render the HTML string as a PDF
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the resulting PDF to a file
pdf.SaveAs("output.pdf");
Imports IronPdf

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Define a simple HTML string to convert to PDF
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>My PDF</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1 {
            color: #333;
            text-align: center;
        }
        p {
            color: #666;
            text-align: justify;
        }
    </style>
</head>
<body>
    <h1>Welcome to My PDF</h1>
    <p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
    <p>You can add more content here as needed.</p>
</body>
</html>"

' Render the HTML string as a PDF
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Save the resulting PDF to a file
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

IronPDF & Apryse C# の比較:図 10 - HTML 文字列から出力された PDF

7.1.2 HTMLファイルをPDFへ

ディスクに保存されている HTML ファイルがある場合、IronPDF はこのファイルを PDF ドキュメントに変換できます。 この方法は、既存の HTML ドキュメント、テンプレート、またはプロジェクトやサーバーに保存されているレポートを変換するのに理想的です。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML file as a PDF
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the resulting PDF to a file
pdf.SaveAs("file.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML file as a PDF
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the resulting PDF to a file
pdf.SaveAs("file.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render the HTML file as a PDF
Dim pdf = renderer.RenderHtmlFileAsPdf("invoice.html")

' Save the resulting PDF to a file
pdf.SaveAs("file.pdf")
$vbLabelText   $csharpLabel

IronPDF & Apryse C# の比較:図 11 - HTML ファイルから変換された PDF

7.1.3 URL から PDF へ

IronPDF は、URL を指定することでライブウェブページを PDF ドキュメントに変換できます。 この機能は、複雑なレイアウト、CSS、および JavaScript で生成されたコンテンツを含む、Web ページの現在の状態をキャプチャするのに非常に役立ちます。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");

// Save the resulting PDF to a file
pdf.SaveAs("url.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");

// Save the resulting PDF to a file
pdf.SaveAs("url.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render the URL as a PDF
Dim pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework")

' Save the resulting PDF to a file
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

IronPDF & Apryse C# の比較:図 12 - URL から出力された PDF

Bootstrap とモダン CSS フレームワークのサポート

モダンな Web アプリケーションから PDF を生成する際、Bootstrap および CSS フレームワークの完全なサポートは不可欠です。 多くの組織はその Web インターフェースに Bootstrap に依存しており、レポート、請求書、およびドキュメントへの正確なデザインの変換は重要です。

IronPDF: 完全なBootstrapサポート

  • Bootstrap 5: Flexbox レイアウト、CSS グリッド、ユーティリティ クラス、レスポンシブ コンポーネントの完全なサポート
  • Bootstrap 4: 完全なカード システム、ナビゲーション コンポーネント、フレックス ユーティリティ
  • Tailwind CSS: すべてのユーティリティ クラスが正確にレンダリングされます。
  • Foundation: 完全なグリッド システムとコンポーネント サポート

Real-world validation: IronPDF successfully renders the Bootstrap homepage and all official examples with pixel-perfect accuracy.

実世界の検証: IronPDF は、公式サンプル をピクセル単位で正確にレンダリングします。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

var renderer = new ChromePdfRenderer();
string bootstrapDashboard = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .metric-card { transition: transform 0.2s; }
        .metric-card:hover { transform: translateY(-5px); }
        .trend-up { color: #28a745; }
        .trend-down { color: #dc3545; }
    </style>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <h1 class='display-5'>Business Performance Dashboard</h1>
            <div class='text-muted'>Last updated: March 2025</div>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-primary border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Total Revenue</h6>
                            <span class='badge bg-primary'>Q1 2025</span>
                        </div>
                        <h2 class='mb-1'>$2.4M</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+18.5%</strong> from last quarter
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-success border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>New Customers</h6>
                            <span class='badge bg-success'>Active</span>
                        </div>
                        <h2 class='mb-1'>1,284</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+24.3%</strong> growth rate
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-warning border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Avg Order Value</h6>
                            <span class='badge bg-warning text-dark'>Updated</span>
                        </div>
                        <h2 class='mb-1'>$1,847</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+5.2%</strong> increase
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-info border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Satisfaction Rate</h6>
                            <span class='badge bg-info'>Excellent</span>
                        </div>
                        <h2 class='mb-1'>94.7%</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+2.1pts</strong> improvement
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Revenue Breakdown by Category</h5>
                        <div class='btn-group btn-group-sm' role='group'>
                            <button type='button' class='btn btn-outline-primary active'>Monthly</button>
                            <button type='button' class='btn btn-outline-primary'>Quarterly</button>
                            <button type='button' class='btn btn-outline-primary'>Annual</button>
                        </div>
                    </div>
                    <div class='card-body'>
                        <div class='table-responsive'>
                            <table class='table table-hover mb-0'>
                                <thead class='table-light'>
                                    <tr>
                                        <th>Category</th>
                                        <th>Revenue</th>
                                        <th>Orders</th>
                                        <th>Avg Value</th>
                                        <th class='text-end'>Trend</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr>
                                        <td><span class='badge bg-primary me-2'>A</span>Enterprise Solutions</td>
                                        <td><strong>$1,245,000</strong></td>
                                        <td>142</td>
                                        <td>$8,768</td>
                                        <td class='text-end'><span class='badge bg-success'>+12%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-success me-2'>B</span>Professional Services</td>
                                        <td><strong>$687,500</strong></td>
                                        <td>458</td>
                                        <td>$1,501</td>
                                        <td class='text-end'><span class='badge bg-success'>+18%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-info me-2'>C</span>Standard Packages</td>
                                        <td><strong>$412,300</strong></td>
                                        <td>891</td>
                                        <td>$463</td>
                                        <td class='text-end'><span class='badge bg-success'>+8%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-warning me-2'>D</span>Custom Development</td>
                                        <td><strong>$55,200</strong></td>
                                        <td>12</td>
                                        <td>$4,600</td>
                                        <td class='text-end'><span class='badge bg-danger'>-3%</span></td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Quick Actions</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-primary'>Generate Full Report</button>
                            <button class='btn btn-outline-primary'>Export to Excel</button>
                            <button class='btn btn-outline-secondary'>Schedule Email</button>
                            <button class='btn btn-outline-info'>Share Dashboard</button>
                        </div>
                    </div>
                </div>

                <div class='card shadow-sm mt-3'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Key Insights</h5>
                    </div>
                    <div class='card-body'>
                        <div class='alert alert-success mb-2'>
                            <small><strong>Top Performer:</strong> Enterprise Solutions leading revenue growth</small>
                        </div>
                        <div class='alert alert-info mb-2'>
                            <small><strong>Growth Driver:</strong> Professional Services showing strongest customer acquisition</small>
                        </div>
                        <div class='alert alert-warning mb-0'>
                            <small><strong>Attention Needed:</strong> Custom Development segment requires review</small>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapDashboard);
pdf.SaveAs("business-dashboard.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

var renderer = new ChromePdfRenderer();
string bootstrapDashboard = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .metric-card { transition: transform 0.2s; }
        .metric-card:hover { transform: translateY(-5px); }
        .trend-up { color: #28a745; }
        .trend-down { color: #dc3545; }
    </style>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <h1 class='display-5'>Business Performance Dashboard</h1>
            <div class='text-muted'>Last updated: March 2025</div>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-primary border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Total Revenue</h6>
                            <span class='badge bg-primary'>Q1 2025</span>
                        </div>
                        <h2 class='mb-1'>$2.4M</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+18.5%</strong> from last quarter
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-success border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>New Customers</h6>
                            <span class='badge bg-success'>Active</span>
                        </div>
                        <h2 class='mb-1'>1,284</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+24.3%</strong> growth rate
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-warning border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Avg Order Value</h6>
                            <span class='badge bg-warning text-dark'>Updated</span>
                        </div>
                        <h2 class='mb-1'>$1,847</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+5.2%</strong> increase
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-3'>
                <div class='card metric-card shadow-sm border-start border-info border-4'>
                    <div class='card-body'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <h6 class='text-muted text-uppercase mb-0'>Satisfaction Rate</h6>
                            <span class='badge bg-info'>Excellent</span>
                        </div>
                        <h2 class='mb-1'>94.7%</h2>
                        <div class='trend-up'>
                            <i>↑</i> <strong>+2.1pts</strong> improvement
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Revenue Breakdown by Category</h5>
                        <div class='btn-group btn-group-sm' role='group'>
                            <button type='button' class='btn btn-outline-primary active'>Monthly</button>
                            <button type='button' class='btn btn-outline-primary'>Quarterly</button>
                            <button type='button' class='btn btn-outline-primary'>Annual</button>
                        </div>
                    </div>
                    <div class='card-body'>
                        <div class='table-responsive'>
                            <table class='table table-hover mb-0'>
                                <thead class='table-light'>
                                    <tr>
                                        <th>Category</th>
                                        <th>Revenue</th>
                                        <th>Orders</th>
                                        <th>Avg Value</th>
                                        <th class='text-end'>Trend</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr>
                                        <td><span class='badge bg-primary me-2'>A</span>Enterprise Solutions</td>
                                        <td><strong>$1,245,000</strong></td>
                                        <td>142</td>
                                        <td>$8,768</td>
                                        <td class='text-end'><span class='badge bg-success'>+12%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-success me-2'>B</span>Professional Services</td>
                                        <td><strong>$687,500</strong></td>
                                        <td>458</td>
                                        <td>$1,501</td>
                                        <td class='text-end'><span class='badge bg-success'>+18%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-info me-2'>C</span>Standard Packages</td>
                                        <td><strong>$412,300</strong></td>
                                        <td>891</td>
                                        <td>$463</td>
                                        <td class='text-end'><span class='badge bg-success'>+8%</span></td>
                                    </tr>
                                    <tr>
                                        <td><span class='badge bg-warning me-2'>D</span>Custom Development</td>
                                        <td><strong>$55,200</strong></td>
                                        <td>12</td>
                                        <td>$4,600</td>
                                        <td class='text-end'><span class='badge bg-danger'>-3%</span></td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Quick Actions</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-primary'>Generate Full Report</button>
                            <button class='btn btn-outline-primary'>Export to Excel</button>
                            <button class='btn btn-outline-secondary'>Schedule Email</button>
                            <button class='btn btn-outline-info'>Share Dashboard</button>
                        </div>
                    </div>
                </div>

                <div class='card shadow-sm mt-3'>
                    <div class='card-header bg-white'>
                        <h5 class='mb-0'>Key Insights</h5>
                    </div>
                    <div class='card-body'>
                        <div class='alert alert-success mb-2'>
                            <small><strong>Top Performer:</strong> Enterprise Solutions leading revenue growth</small>
                        </div>
                        <div class='alert alert-info mb-2'>
                            <small><strong>Growth Driver:</strong> Professional Services showing strongest customer acquisition</small>
                        </div>
                        <div class='alert alert-warning mb-0'>
                            <small><strong>Attention Needed:</strong> Custom Development segment requires review</small>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapDashboard);
pdf.SaveAs("business-dashboard.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

コード例:ビジネスメトリクスダッシュボード

出力: Bootstrap 5 の Flexbox ベースのグリッド システム、境界線ユーティリティを備えたカード コンポーネント、バッジ要素、レスポンシブ テーブル、および完璧なレイアウトの保存とタイポグラフィによるカラー コーディングされたメトリックスを使用したプロフェッショナルなビジネス ダッシュボード PDF。

Apryse (PDFTron): モダン CSS サポートの制限

Apryse の HTML2PDF モジュールは、ドキュメントの制約があるカスタム レンダリング エンジン (Chromium ではない) を使用します。

  • Flexbox の部分的サポート: Bootstrap 4/5 レイアウトは正しくレンダリングされない可能性があります。
  • CSS グリッドの制限: モダンなグリッドベースのデザインはレンダリングされないことが多い
  • JavaScript の制約: ブラウザ環境と比べて実行が最小限に抑えられます。

  • フレームワークの互換性: Bootstrap コンポーネントを非常にテストする必要があります。

HTML2PDF のドキュメントには、複雑な CSS が期待通りにレンダリングされない可能性がある警告が明記されており、ナビゲーション バー、フレックス ベースのカード レイアウト、およびレスポンシブ ユーティリティに関する問題が開発者によって報告されています。

開発への影響: Apryse を使用するチームは、並行する「PDF 安全な」CSS を作成するか、PDF 出力と Web 出力間のデザイン一貫性を制限し、開発の負担を増やす必要があります。

完全な CSS3 レンダリングを備えた包括的な Bootstrap フレームワーク サポートについては、Bootstrap & Flexbox CSS ガイド を参照してください。

7.2 PDF のマージと分割 IronPDF を使用すると、複数の PDF ドキュメントを 1 つのファイルに結合したり、PDF をいくつかの小さなドキュメントに分割したりするのが簡単です。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content for two PDFs to merge
var htmlA = @"
    <h1>PDF A</h1>
    <p>This is the content of PDF A.</p>
    <p>This is the first page of PDF A.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF A.</p>";

var htmlB = @"
    <h1>PDF B</h1>
    <p>This is the content of PDF B.</p>
    <p>This is the first page of PDF B.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF B.</p>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML content as separate PDF documents
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the two PDFs into one
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF to a file
mergedPdf.SaveAs("Merged.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content for two PDFs to merge
var htmlA = @"
    <h1>PDF A</h1>
    <p>This is the content of PDF A.</p>
    <p>This is the first page of PDF A.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF A.</p>";

var htmlB = @"
    <h1>PDF B</h1>
    <p>This is the content of PDF B.</p>
    <p>This is the first page of PDF B.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF B.</p>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render the HTML content as separate PDF documents
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the two PDFs into one
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF to a file
mergedPdf.SaveAs("Merged.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Define HTML content for two PDFs to merge
Dim htmlA = "
    <h1>PDF A</h1>
    <p>This is the content of PDF A.</p>
    <p>This is the first page of PDF A.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF A.</p>"

Dim htmlB = "
    <h1>PDF B</h1>
    <p>This is the content of PDF B.</p>
    <p>This is the first page of PDF B.</p>
    <div style='page-break-after: always;'></div>
    <p>This is the second page of PDF B.</p>"

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render the HTML content as separate PDF documents
Dim pdfDocA = renderer.RenderHtmlAsPdf(htmlA)
Dim pdfDocB = renderer.RenderHtmlAsPdf(htmlB)

' Merge the two PDFs into one
Dim mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB)

' Save the merged PDF to a file
mergedPdf.SaveAs("Merged.pdf")
$vbLabelText   $csharpLabel

この機能は、ドキュメント管理システムで PDF コンテンツを整理および構造化する必要がある場合に不可欠です。

7.3 透かしの追加 IronPDF を使用すると、PDF のページに透かしを追加して、ドキュメントを機密指定にしたりブランディングすることができます。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render a URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the watermarked PDF to a file
pdf.SaveAs("Watermarked.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();

// Render a URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the watermarked PDF to a file
pdf.SaveAs("Watermarked.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()

' Render a URL as a PDF
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

' Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

' Save the watermarked PDF to a file
pdf.SaveAs("Watermarked.pdf")
$vbLabelText   $csharpLabel

この機能は、テキストと画像の両方の透かしをサポートしており、透かしの適用と表示に柔軟性を提供します。

IronPDF & Apryse C# の比較:図 13 - 'SAMPLE' 透かしのあるPDF

7.4 PDFフォーム IronPDF は、対話型 PDF フォームを扱うことをサポートしています。 プログラムによる PDF フォームの作成、入力、送信を可能にします。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content with form elements
const string formHtml = @"
    <html>
        <body>
            <h2>Employee Information Form</h2>
            <form>
                First name: <br> 
                Last name: <br> 
                <br>
                <p>Please select your department:</p>
                <select name='department'>
                    <option value='HR'>HR</option>
                    <option value='Finance'>Finance</option>
                    <option value='IT'>IT</option>
                    <option value='Marketing'>Marketing</option>
                </select>
                <br>
                <br>
                <p>Please select your employment status:</p>
                <label for='fulltime'>Full-time</label> <br>
                <label for='parttime'>Part-time</label> <br>
                <br>
                <p>Please select your skills:</p>
                <label for='skill1'> Programming</label><br>
                <label for='skill2'> Design</label><br>
                <label for='skill3'> Marketing</label><br>
            </form>
        </body>
    </html>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML form content as a PDF
renderer.RenderHtmlAsPdf(formHtml).SaveAs("EmployeeInfoForm.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Define HTML content with form elements
const string formHtml = @"
    <html>
        <body>
            <h2>Employee Information Form</h2>
            <form>
                First name: <br> 
                Last name: <br> 
                <br>
                <p>Please select your department:</p>
                <select name='department'>
                    <option value='HR'>HR</option>
                    <option value='Finance'>Finance</option>
                    <option value='IT'>IT</option>
                    <option value='Marketing'>Marketing</option>
                </select>
                <br>
                <br>
                <p>Please select your employment status:</p>
                <label for='fulltime'>Full-time</label> <br>
                <label for='parttime'>Part-time</label> <br>
                <br>
                <p>Please select your skills:</p>
                <label for='skill1'> Programming</label><br>
                <label for='skill2'> Design</label><br>
                <label for='skill3'> Marketing</label><br>
            </form>
        </body>
    </html>";

// Instantiate a PDF renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML form content as a PDF
renderer.RenderHtmlAsPdf(formHtml).SaveAs("EmployeeInfoForm.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Define HTML content with form elements
Const formHtml As String = "
    <html>
        <body>
            <h2>Employee Information Form</h2>
            <form>
                First name: <br> 
                Last name: <br> 
                <br>
                <p>Please select your department:</p>
                <select name='department'>
                    <option value='HR'>HR</option>
                    <option value='Finance'>Finance</option>
                    <option value='IT'>IT</option>
                    <option value='Marketing'>Marketing</option>
                </select>
                <br>
                <br>
                <p>Please select your employment status:</p>
                <label for='fulltime'>Full-time</label> <br>
                <label for='parttime'>Part-time</label> <br>
                <br>
                <p>Please select your skills:</p>
                <label for='skill1'> Programming</label><br>
                <label for='skill2'> Design</label><br>
                <label for='skill3'> Marketing</label><br>
            </form>
        </body>
    </html>"

' Instantiate a PDF renderer
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Render the HTML form content as a PDF
renderer.RenderHtmlAsPdf(formHtml).SaveAs("EmployeeInfoForm.pdf")
$vbLabelText   $csharpLabel

これは、フォーム処理を自動化する必要があるアプリケーションや、ワークフローにフォームデータ収集を統合する必要があるアプリケーションにとって特に役立ちます。

IronPDF & Apryse C# の比較:図 14 - 対話型フォームのある PDF

7.5 セキュリティと暗号化 IronPDF は、PDF ドキュメントの暗号化、権限の設定、デジタル署名の追加など、PDF ドキュメントを保護する機能を提供します。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Load an existing PDF file
var pdf = PdfDocument.FromFile("invoice.pdf");

// Set document security settings
pdf.SecuritySettings.OwnerPassword = "top-secret"; // Password to edit the PDF
pdf.SecuritySettings.UserPassword = "sharable";   // Password to open the PDF

// Save the secured PDF to a file
pdf.SaveAs("secured.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Load an existing PDF file
var pdf = PdfDocument.FromFile("invoice.pdf");

// Set document security settings
pdf.SecuritySettings.OwnerPassword = "top-secret"; // Password to edit the PDF
pdf.SecuritySettings.UserPassword = "sharable";   // Password to open the PDF

// Save the secured PDF to a file
pdf.SaveAs("secured.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Load an existing PDF file
Dim pdf = PdfDocument.FromFile("invoice.pdf")

' Set document security settings
pdf.SecuritySettings.OwnerPassword = "top-secret" ' Password to edit the PDF
pdf.SecuritySettings.UserPassword = "sharable" ' Password to open the PDF

' Save the secured PDF to a file
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

これにより、PDF 内の機密情報を保護し、ドキュメントの統合性が維持されます。

IronPDF & Apryse C# の比較:図 15 - パスワードで保護されたPDFのポップアップ

7.6 高度なPDF編集 IronPDF は、基本的な PDF 編集を超えて、高度な編集機能を提供します。 これには、ヘッダーとフッターの追加、ページレイアウトとデザインのカスタマイズ、画像とフォントの埋め込みが含まれています。

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new IronPdf.ChromePdfRenderer();

// Define multi-page HTML content with page breaks
var multiPageHtml = @"
    <p> This is 1st Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 2nd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 3rd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 4th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 5th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 6th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 7th Page</p>";

// Render the HTML content as a PDF
var pdfDoc = renderer.RenderHtmlAsPdf(multiPageHtml);

// Create a header for the first page only
var firstPageHeader = new HtmlHeaderFooter();
firstPageHeader.HtmlFragment = "This is the First Page Header";
pdfDoc.AddHtmlHeaders(firstPageHeader, 1);

// Save the resulting PDF with headers to a file
pdfDoc.SaveAs("PagesWithHeaders.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

// Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate a PDF renderer
var renderer = new IronPdf.ChromePdfRenderer();

// Define multi-page HTML content with page breaks
var multiPageHtml = @"
    <p> This is 1st Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 2nd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 3rd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 4th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 5th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 6th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 7th Page</p>";

// Render the HTML content as a PDF
var pdfDoc = renderer.RenderHtmlAsPdf(multiPageHtml);

// Create a header for the first page only
var firstPageHeader = new HtmlHeaderFooter();
firstPageHeader.HtmlFragment = "This is the First Page Header";
pdfDoc.AddHtmlHeaders(firstPageHeader, 1);

// Save the resulting PDF with headers to a file
pdfDoc.SaveAs("PagesWithHeaders.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

' Secure the server environment to disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate a PDF renderer
Dim renderer = New IronPdf.ChromePdfRenderer()

' Define multi-page HTML content with page breaks
Dim multiPageHtml = "
    <p> This is 1st Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 2nd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 3rd Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 4th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 5th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 6th Page</p>
    <div style = 'page-break-after: always;' ></div>
    <p> This is 7th Page</p>"

' Render the HTML content as a PDF
Dim pdfDoc = renderer.RenderHtmlAsPdf(multiPageHtml)

' Create a header for the first page only
Dim firstPageHeader = New HtmlHeaderFooter()
firstPageHeader.HtmlFragment = "This is the First Page Header"
pdfDoc.AddHtmlHeaders(firstPageHeader, 1)

' Save the resulting PDF with headers to a file
pdfDoc.SaveAs("PagesWithHeaders.pdf")
$vbLabelText   $csharpLabel

これらの機能により、特定のアプリケーション要件に従って動的な PDF の生成とカスタマイズが可能になります。

IronPDF & Apryse C# の比較:図 16 - 出力された複数ページのPDF

8. Apryse C# 高度な機能

8.1 PDF 注釈とマークアップ Apryse C# により、開発者がプログラムで PDF ドキュメントに注釈やマークアップを追加できます。

using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library with your license key
        PDFNet.Initialize("License");

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Access the first page of the document
            Page page = doc.GetPage(1);

            // Create a text annotation on the document
            Text txt = Text.Create(doc, new Rect(10, 20, 30, 40));
            txt.SetIcon("UserIcon");
            txt.SetContents("It's an annotation!");
            page.AnnotPushBack(txt);

            // Save the modified document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library with your license key
        PDFNet.Initialize("License");

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Access the first page of the document
            Page page = doc.GetPage(1);

            // Create a text annotation on the document
            Text txt = Text.Create(doc, new Rect(10, 20, 30, 40));
            txt.SetIcon("UserIcon");
            txt.SetContents("It's an annotation!");
            page.AnnotPushBack(txt);

            // Save the modified document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library with your license key
		PDFNet.Initialize("License")

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Access the first page of the document
			Dim page As Page = doc.GetPage(1)

			' Create a text annotation on the document
			Dim txt As Text = Text.Create(doc, New Rect(10, 20, 30, 40))
			txt.SetIcon("UserIcon")
			txt.SetContents("It's an annotation!")
			page.AnnotPushBack(txt)

			' Save the modified document
			doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

これには、テキスト注釈、ハイライト、下線、および図形が含まれます。これらは、ドキュメントのレビュー プロセスや PDF に補足情報を追加する際に不可欠です。

IronPDF & Apryse C# の比較:図 17 - アイコンと注釈付きの出力PDF

8.2 ドキュメント変換 Apryse C# を使用すると、開発者はさまざまなドキュメント形式を PDF に変換できます。Officeドキュメント、画像、HTMLを含みます。

using pdftron;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Create a new PDF document
        PDFDoc pdfdoc = new PDFDoc();

        // Convert a Word document to PDF and add it to the PDF document
        Convert.ToPdf(pdfdoc, "input.docx");

        // Save the newly created PDF document
        pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
    }
}
using pdftron;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Create a new PDF document
        PDFDoc pdfdoc = new PDFDoc();

        // Convert a Word document to PDF and add it to the PDF document
        Convert.ToPdf(pdfdoc, "input.docx");

        // Save the newly created PDF document
        pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
    }
}
Imports pdftron
Imports pdftron.PDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Create a new PDF document
		Dim pdfdoc As New PDFDoc()

		' Convert a Word document to PDF and add it to the PDF document
		Convert.ToPdf(pdfdoc, "input.docx")

		' Save the newly created PDF document
		pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
	End Sub
End Class
$vbLabelText   $csharpLabel

この機能は、アーカイブ、共有、表示のために均一なドキュメント形式を必要とするアプリケーションにとって重要です。

8.3 コンテンツ抽出と分析 Apryse C# は、PDF ドキュメントからテキスト、画像、およびその他のコンテンツを抽出することに秀でています。

using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Iterate through each page of the document
            PageIterator itr = doc.GetPageIterator();
            for (; itr.HasNext(); itr.Next())
            {
                Page page = itr.Current();

                // Extract text from the page
                TextExtractor txt = new TextExtractor();
                txt.Begin(page);

                // Print the extracted text to the console
                Console.WriteLine(txt.GetAsText());
            }
        }
    }
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Iterate through each page of the document
            PageIterator itr = doc.GetPageIterator();
            for (; itr.HasNext(); itr.Next())
            {
                Page page = itr.Current();

                // Extract text from the page
                TextExtractor txt = new TextExtractor();
                txt.Begin(page);

                // Print the extracted text to the console
                Console.WriteLine(txt.GetAsText());
            }
        }
    }
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Iterate through each page of the document
			Dim itr As PageIterator = doc.GetPageIterator()
			Do While itr.HasNext()
				Dim page As Page = itr.Current()

				' Extract text from the page
				Dim txt As New TextExtractor()
				txt.Begin(page)

				' Print the extracted text to the console
				Console.WriteLine(txt.GetAsText())
				itr.Next()
			Loop
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

この機能は、コンテンツ分析、データ抽出、情報検索アプリケーションに重要であり、さまざまな目的で PDF コンテンツを処理することを可能にします。

IronPDF & Apryse C# の比較:図 18 - PDF から抽出したテキストのコンソール出力

8.4 セキュリティと暗号化 Apryse C# は、PDF ドキュメントを保護するための包括的なツールを提供します。

using pdftron;
using pdftron.SDF;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Initialize the security handler
            doc.InitSecurityHandler();

            // Create a new security handler
            SecurityHandler newHandler = new SecurityHandler();

            // Set the user password for the document
            newHandler.ChangeUserPassword("new_password");

            // Grant permission to print the document
            newHandler.SetPermission(SecurityHandler.Permission.e_print, true);

            // Apply the security handler to the document
            doc.SetSecurityHandler(newHandler);

            // Save the secured document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
using pdftron;
using pdftron.SDF;
using pdftron.PDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Initialize the security handler
            doc.InitSecurityHandler();

            // Create a new security handler
            SecurityHandler newHandler = new SecurityHandler();

            // Set the user password for the document
            newHandler.ChangeUserPassword("new_password");

            // Grant permission to print the document
            newHandler.SetPermission(SecurityHandler.Permission.e_print, true);

            // Apply the security handler to the document
            doc.SetSecurityHandler(newHandler);

            // Save the secured document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Initialize the security handler
			doc.InitSecurityHandler()

			' Create a new security handler
			Dim newHandler As New SecurityHandler()

			' Set the user password for the document
			newHandler.ChangeUserPassword("new_password")

			' Grant permission to print the document
			newHandler.SetPermission(SecurityHandler.Permission.e_print, True)

			' Apply the security handler to the document
			doc.SetSecurityHandler(newHandler)

			' Save the secured document
			doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

開発者は、パスワード保護を適用し、文書を暗号化し、ユーザーの権限を管理することができ、機密情報が保護されていることを保証します。

8.5 抹消 Apryse C# は、PDF ドキュメントから機密情報を編集することもサポートしており、コンプライアンスやプライバシーに関する懸念に不可欠な機能です。

using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Define redaction areas on specific pages
            Redactor.Redaction[] redactions = {
                new Redactor.Redaction(1, new Rect(100, 100, 200, 200), false, "redacted"),
            };

            // Apply redactions to the document
            Redactor.Redact(doc, redactions);

            // Save the redacted document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;

class Program
{
    static void Main()
    {
        // Initialize the PDFNet library
        PDFNet.Initialize();

        // Open an existing PDF document
        using (PDFDoc doc = new PDFDoc("input.pdf"))
        {
            // Define redaction areas on specific pages
            Redactor.Redaction[] redactions = {
                new Redactor.Redaction(1, new Rect(100, 100, 200, 200), false, "redacted"),
            };

            // Apply redactions to the document
            Redactor.Redact(doc, redactions);

            // Save the redacted document
            doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
        }
    }
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF

Friend Class Program
	Shared Sub Main()
		' Initialize the PDFNet library
		PDFNet.Initialize()

		' Open an existing PDF document
		Using doc As New PDFDoc("input.pdf")
			' Define redaction areas on specific pages
			Dim redactions() As Redactor.Redaction = { New Redactor.Redaction(1, New Rect(100, 100, 200, 200), False, "redacted")}

			' Apply redactions to the document
			Redactor.Redact(doc, redactions)

			' Save the redacted document
			doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

これにより、開発者は PDF 内のテキストや画像を完全に削除または隠すことができます。

9. ドキュメントとサポート

9.1 IronPDF ドキュメントおよびサポート ドキュメント: IronPDF は、HTML から PDF への変換、PDF 編集、結合、分割、およびセキュリティなど、幅広いトピックをカバーする包括的なドキュメントを提供します。

このドキュメントは、従うのが簡単なように設計されており、多くのコード例と説明が含まれており、開発者が .NET アプリケーションでさまざまな PDF 関連の機能を実装するプロセスをガイドしています。 サポート: サポートが必要な開発者向けに、IronPDF はさまざまなチャネルを通じてサポートを提供します。 これには、メールサポート、チケットサポート、特定の問題のサポートを受けるために技術サポートチームに連絡できるライブ エンジニアリング サポート チャットが含まれます。

サポートシステムを使用してフィードバックを提供することもできます。

IronPDF & Apryse C# の比較:図 19 - Iron ソフトウェアサポート チームのチャット

9.2 Apryse C# ドキュメントとサポート

ドキュメント: Apryse C# (旧 PDFTron for .NET) は、豊富な API リファレンス、開発者ガイド、および広範な範囲の PDF 操作タスク用のサンプル コードを含む詳細なドキュメントを誇っています。 サポート: Apryse は、トラブルシューティングや実装に関する質問について、技術チームに直接メールサポートを提供するなど、開発者向けのサポートシステムを提供します。

Stack Overflow で質問することもできます。

10. ライセンス情報

10.1 IronPDF ライセンス IronPDF は、ライト、プラス、およびプロフェッショナルライセンスを含む、さまざまなプロジェクト要件に合わせた複数のライセンスオプションを提供しており、Lite ライセンスは$799から開始されます。 これらのライセンスは、カバーする開発者、場所、およびプロジェクトの数によって異なります。

さらに、IronPDF は、再配布料無料のオプションや、更新の延長サポートを提供しており、これらのアドオンの特定の費用も提供しています。

IronPDF は、開発者向けのさまざまな永久ライセンス オプションを提供します。

  • ライト版: $799 の費用で、1 名の開発者、1 つの場所、および 1 つのプロジェクトに適しており、メールサポートが含まれます。
  • プラス版: $1,199で、最大 3 人の開発者、3 つの場所、および 3 つのプロジェクトをサポートでき、24 時間のメールおよびチャット サポート、電話サポートが含まれています。

  • プロフェッショナル エディション: $2,399 で、最大 10 名の開発者、10 か所、10 プロジェクトに適しており、メール、チャット、電話、画面共有サポートを含む包括的なサポートを提供します。 さらに、月額 500 ドルでのサブスクリプションも提供しており、10,000 の API コールが含まれ、追加のコールはコールごとに 0.02 ドルです。 無制限の使用については、IronPDF は見積り依頼の企業向けソリューションを提供しています。

このソリューションには無制限の永久ライセンスと無制限の API コールが含まれ、その他の機能も備えています。

IronPDF & Apryse C# の比較:図 20 - IronPDF のライセンスページ

10.2 Apryse C# ライセンス Apryse C# は、プロジェクトの特定の要件、機能、文書のボリュームおよび展開シナリオに応じて調整されるカスタマイズ可能な価格モデルを提供します。

Apryse の見積もり情報を取得するには、販売チームに連絡する必要があります。Apryse 価格情報

IronPDF & Apryse C# の比較:図 21 - Apryse の営業チームに連絡を取るためのフォーム内のフォーム

11. 結論 結論として、IronPDF と Apryse C# はそれぞれ .NET 開発者向けに強力な機能を提供し、PDF を操作します。 広範な編集を含む包括的なタスクを処理する能力によって輝いています。これはIronPDFを使ったPDFの結合がその魅力を高めています。 Iron Suiteパッケージを使用することで、開発者はさまざまな開発ニーズに対応する強力なユーティリティセットをリーズナブルな価格で利用できます。

IronPDFは、ほとんどのPDF処理シナリオにおいて、その全体的な汎用性と価値提案で際立っています。 最終的な決定は理想的にはプロジェクトの要件や開発者が必要とする特定の機能に基づいて行われるべきです。

[{i:(Apryse C#はその所有者の登録商標です。 このサイトはApryse C#とは関係がなく、Apryse C#によって承認または後援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)}]

よくある質問

IronPDFとApryse C#のPDF操作における主な違いは何ですか?

IronPDFは、.NETとのシームレスな統合とHTMLからPDFへの変換、フォーム処理、セキュリティ機能における高度な機能で知られています。Apryse C#、以前はPDFTron SDKとして知られていたものは、コンテンツ抽出と文書変換に焦点を当て、注釈と削除などの高度な機能を提供しています。

どのようにして.NETアプリケーションでHTMLをPDFに変換できますか?

IronPDFライブラリのRenderHtmlAsPdfメソッドを使用して、HTML文字列を直接PDF文書に変換できます。これは、ウェブコンテンツやHTMLテンプレートからPDFを生成するのに便利です。

IronPDFを.NETプロジェクトにインストールする手順は何ですか?

IronPDFは、Visual StudioのNuGetパッケージマネージャーを使用して簡単にインストールできます。また、パッケージマネージャーコンソールを使用してInstall-Package IronPdfコマンドを実行するか、NuGetサイトから直接ダウンロードすることもできます。

IronPDFはPDFのセキュリティと暗号化をどのように扱っていますか?

IronPDFは、文書を暗号化する機能、ユーザー権限の設定、デジタル署名の管理を含む包括的なセキュリティオプションを提供します。これにより、PDFが保護され、セキュリティ基準に準拠していることが保証されます。

IronPDFが提供する高度なPDF編集機能は何ですか?

IronPDFは、文書の結合と分割、透かしの追加、ヘッダーとフッターのカスタマイズを含む、さまざまな高度な編集機能をサポートしています。また、よりカスタマイズされた文書作成のためのレイアウトカスタマイズオプションも提供します。

IronPDFユーザー向けに利用可能なサポートとリソースは何ですか?

IronPDFは、広範なドキュメント、メールサポート、チケットベースのサポート、ライブエンジニアチャットを提供し、開発者が実装やトラブルシューティングを支援します。これにより、ユーザーが効果的にPDFを操作するための必要なリソースが保証されます。

IronPDFのライセンスオプションはどのようになっていますか?

IronPDFは、異なるサポートレベルと開発者ニーズに対応するLite、Plus、Professionalライセンスを含むいくつかのライセンスオプションを提供します。また、より広範な用途のための月額サブスクリプションモデルと企業向けソリューションも利用可能です。

どうやってApryse C#を使ってPDFからテキストを抽出することができますか?

Apryse C#は、PDFからコンテンツをプログラム的に抽出する堅牢なテキスト抽出機能を提供します。この機能は、データ分析やコンテンツ操作を必要とするアプリケーションにとって不可欠です。

Apryse C#はどのようなドキュメント形式をPDFに変換できますか?

Apryse C#は、Office文書、画像、およびHTMLファイルを含むさまざまなドキュメント形式をPDFに変換することをサポートします。この機能は、異なるプラットフォーム間でのドキュメント表現の一貫性を維持するために重要です。

IronPDF が .NET 開発者にとっての主な機能は何ですか?

IronPDFは、HTMLからPDFへの変換、包括的なフォーム処理、文書のセキュリティなどの高度な機能で知られています。パフォーマンス、スケーラビリティ、およびシームレスな .NET 統合が評価されており、さまざまな PDF 処理シナリオに最適です。

Curtis Chau
テクニカルライター

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

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