フッターコンテンツにスキップ
IRONPDFの使用

.NETで適切なPDF SDKを選択する方法

PDF SDK を探している多くの .NET 開発者は同じ問題に遭遇します。それは、広範なセットアップを必要とするライブラリ、不透明なライセンス階層、開発者の人間工学ではなく明らかに PDF 仕様に合わせて設計された API です。 IronPDFは、その摩擦を解消するために構築された.NET PDF ライブラリです。 .NET Framework、 .NET Core、 .NET 10 で動作する単一のNuGetパッケージを通じて、PDF の作成、編集、フォーム処理、ドキュメント セキュリティを実現します。

無料トライアルを開始して、ドキュメント ワークフローにIronPDF を活用している NASA、Tesla、3M のチームに参加しましょう。

.NET PDF SDK を選択する際に重要な基準は何ですか?

実稼働環境で使用する PDF ライブラリを選択するには、簡単なNuGetインストール テストでは明らかにならないトレードオフを評価する必要があります。 適切なライブラリと本番環境で使用可能なライブラリを区別する基準は 4 つあります。

レンダリング精度とHTMLエンジンの品質

最も重要な選択は、ライブラリが実際のブラウザ エンジン (Chromium または WebKit) を使用するか、カスタム HTML から PDF へのレンダラーを使用するかです。 カスタム レンダラーは CSS2 サブセットをサポートします。基本的なタイポグラフィとフロートは機能しますが、フレックスボックス、CSS グリッド、および JavaScript でレンダリングされたコンテンツは機能しません。 Chromium ベースのエンジンは Chrome とまったく同じように HTML をレンダリングするため、既存のRazorビュー、レポート テンプレート、クライアント側JavaScriptでは、手動でレイアウトを調整しなくても正確な出力が生成されます。 レンダリングの精度をテストするには、CSS グリッドと JavaScript で生成されたコンテンツを使用するドキュメントをレンダリングします。 CSS サポートが制限されているライブラリでは、要素が間違った場所に配置されたり、スタイルが設定されていない出力にフォールバックしたりします。

クロスプラットフォームと Linux コンテナのサポート

.NET PDF SDK は、Microsoft Office や COM オートメーションを必要とせずに Linux 上で実行する必要があります。 HTML レンダリングを Word 相互運用に委任するライブラリは、Linux Docker コンテナーでは実行できません。 Chromium ベースのライブラリは、レンダリング エンジンをネイティブ バイナリとして提供し、Debian または Ubuntu ホストでは標準システム パッケージ (fontconfig) のみを必要とします。 クロスプラットフォーム展開に関する.NETドキュメントでは、 Linux または Alpine Docker イメージを対象とする場合に関連するランタイム識別子規則について説明します。

ASP.NET Coreにおけるスレッドセーフと同時実行

多くの PDF ライブラリでは、スレッド セーフティについては脚注でのみ説明しています。 HTTP リクエストごとに PDF を生成するASP.NET Coreアプリケーションの場合、これは直接的に重要になります。 IronPDF の ChromePdfRenderer はスレッドセーフではありません。各同時実行タスクは独自のインスタンスを所有する必要があります。 イテレーションごとに 1 つのレンダラーと同時実行制限を使用して Parallel.ForEach を使用すると、競合が回避され、非同期およびマルチスレッドのハウツー ガイドのガイダンスと一致します。 バッチ ジョブの場合、ワーカー スレッドごとに 1 つのレンダラーが CPU コア数に比例して拡張されます。

ライセンスモデルの調整

ライセンス構造は、大規模な総所有コストに影響を及ぼします。 開発者ごとのライセンス (IronPDF、Syncfusion) は、アプリケーションを構築および展開する開発者の数に基づいて課金されます。 AGPL ライセンス (iText Core) では、商用ライセンスを購入しない限り、アプリケーションのソース コードを配布する必要があります。 MIT ライセンス (QuestPDF、PDFsharp) には配布制限はありませんが、商用サポートはありません。 長期アーカイブを必要とする規制環境の場合、 ISO 19005 PDF/A 標準への準拠はライセンス モデルとは異なる要件であるため、個別に検証する必要があります。

ユースケース決定ガイド

既存のHTMLテンプレートまたはRazorビューをPDFに変換することが主な要件である場合は、Chromiumベースのライブラリが最適です。Web用のレイアウト作業は、別途デザインパスを経ることなく、直接PDFに変換されます。

HTML テンプレートを使用せずにデータから構造化ドキュメントを生成する必要があるときは、QuestPDF (MIT ライセンス) が少量の内部ツールとして適切な選択肢となります。 HTML 入力をサポートしておらず、既存の PDF を読み取ったり編集したりすることはできませんが、Chromium ランタイムへの依存関係は排除されます。

既存の PDF を操作する (他のシステムで作成されたドキュメントの結合、分割、編集、または署名を行う) 必要がある場合は、ほとんどの商用.NET PDF ライブラリでこれを適切に処理できます。 差別化要因は、レンダリング機能ではなく、ライセンス コストと API エルゴノミクスです。

.NETプロジェクトにIronPDFをインストールするにはどうすればよいでしょうか?

NuGetパッケージ マネージャーを使用すると、プロジェクトにIronPDF を追加するのに 1 分もかかりません。 Visual StudioでPackage Manager Consoleを開き、実行してください:

PM> Install-Package IronPdf
PM> Install-Package IronPdf
SHELL

または、 NuGet GUI を使用して IronPdf を検索してパッケージを追加します。 このパッケージは.NET Standard 2.0 を対象としているため、 .NET Framework 4.6.2 以降、 .NET Core 2.0 以降、および.NET 10 までのすべての最新 .NET リリースで動作します。

インストール後、レンダリング前にライセンス キーを適用します。 評価版を使用するには、アプリケーション起動時に IronPdf.License.LicenseKey = "IRONPDF-TRIAL-KEY"; を呼び出すか、 IronPDF Web サイトから入手できる無料トライアルライセンスをご利用ください。開発中にライブラリをローカルで実行する場合は、ライセンスキーは不要です。

IronPDF は、事前に構築された Chromium エンジンをネイティブ バイナリとして出荷します。 新しいマシンでエンジンが初めて初期化されると、ランタイムが temp フォルダーに抽出されます。これには数秒かかります。 以降の呼び出しは高速です。Linux および Docker では、libgdiplus およびフォント パッケージがインストールされていることを確認してください。Linuxの展開ガイドには、ディストリビューション固有の要件が記載されています。

C# で HTML から PDF を作成するにはどうすればよいでしょうか?

HTML から PDF への変換は、 .NET PDF SDK ワークフローの最も一般的な出発点です。 IronPDF はChromium ベースのレンダリング エンジンを使用して、HTML 文字列、ローカル ファイル、またはライブ URL をピクセル精度の PDF に変換し、CSS3 レイアウト、Google Fonts、JavaScript でレンダリングされたコンテンツを保持します。

using IronPdf;

// Apply license key (omit for trial watermarked output)
// IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

var renderer = new ChromePdfRenderer();

// Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
renderer.RenderingOptions.MarginRight = 15;

// Render an HTML string to PDF
string htmlContent = @"
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("registration-form.pdf");
using IronPdf;

// Apply license key (omit for trial watermarked output)
// IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

var renderer = new ChromePdfRenderer();

// Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
renderer.RenderingOptions.MarginRight = 15;

// Render an HTML string to PDF
string htmlContent = @"
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("registration-form.pdf");
Imports IronPdf

' Apply license key (omit for trial watermarked output)
' IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"

Dim renderer As New ChromePdfRenderer()

' Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 15
renderer.RenderingOptions.MarginRight = 15

' Render an HTML string to PDF
Dim htmlContent As String = "
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>"

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("registration-form.pdf")
$vbLabelText   $csharpLabel

レンダリングオプションとページレイアウト

ChromePdfRenderer クラスは、PDF レイアウトのあらゆる側面を制御するRenderingOptionsプロパティを公開します。 PaperSize を任意の標準 ISO または ANSI サイズに設定するか、CustomPaperWidth および CustomPaperHeight を使用してミリメートル単位でカスタム寸法を定義します。 余白の値はミリメートル単位で指定され、PrintHtmlBackgrounds は背景色と画像が正しくレンダリングされることを保証します。

URL から PDF への変換には、ターゲット アドレスを RenderUrlAsPdf に渡します。 レンダラーは、Cookie、HTTP ヘッダー、カスタム ユーザー エージェントを処理するため、認証されたページやシングル ページ アプリケーションに適しています。 HTML から PDF へのガイドでは、認証、 JavaScript の待機条件、遅延読み込みコンテンツについて詳しく説明します。

 IronPDF でHTML 請求書を CSS3 レイアウトの忠実度を維持したまま PDF にレンダリングする C# IronPDF ChromePdfRenderer 出力: HTML テンプレートが CSS3 スタイルを保持したまま A4 PDF にレンダリングされました

ファイルパスとURLからのレンダリング

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render from a URL (async variant for ASP.NET Core)
PdfDocument fromUrl = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
fromUrl.SaveAs("url-report.pdf");

// Render from a local HTML file
PdfDocument fromFile = renderer.RenderHtmlFileAsPdf("templates/invoice.html");
fromFile.SaveAs("invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render from a URL (async variant for ASP.NET Core)
PdfDocument fromUrl = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
fromUrl.SaveAs("url-report.pdf");

// Render from a local HTML file
PdfDocument fromFile = renderer.RenderHtmlFileAsPdf("templates/invoice.html");
fromFile.SaveAs("invoice.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render from a URL (async variant for ASP.NET Core)
Dim fromUrl As PdfDocument = Await renderer.RenderUrlAsPdfAsync("https://example.com/report")
fromUrl.SaveAs("url-report.pdf")

' Render from a local HTML file
Dim fromFile As PdfDocument = renderer.RenderHtmlFileAsPdf("templates/invoice.html")
fromFile.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

RenderUrlAsPdfAsync メソッドは Task<PdfDocument> を返すため、 ASP.NET Coreコントローラーおよびバックグラウンド サービスの await パターンと直接統合されます。 非同期レンダリング ガイドでは、高スループットのシナリオにおけるスレッド セーフと接続プールの構成について説明します。

画像を変換して PDF コンテンツを抽出するにはどうすればよいですか?

多くの .NET アプリケーションでは、画像ファイルを PDF に変換したり、既存のドキュメントから画像やテキストを取得したりする必要があります。 IronPDF は、中間ファイル形式や外部ツールを必要とせずに両方向を処理します。

using IronPdf;

// Convert a list of image files to a single multi-page PDF
var imageFiles = new System.Collections.Generic.List<string>
{
    "scans/page1.png",
    "scans/page2.jpg",
    "scans/page3.tiff"
};

PdfDocument pdfFromImages = ImageToPdfConverter.ImageToPdf(imageFiles);
pdfFromImages.SaveAs("scanned-document.pdf");

// Extract images from an existing document
PdfDocument existing = PdfDocument.FromFile("annual-report.pdf");
var images = existing.ExtractAllImages();
int index = 0;
foreach (var img in images)
{
    img.SaveAs($"extracted/image_{index++}.png");
}

// Extract all text content for indexing or search
string fullText = existing.ExtractAllText();
System.IO.File.WriteAllText("report-text.txt", fullText);
using IronPdf;

// Convert a list of image files to a single multi-page PDF
var imageFiles = new System.Collections.Generic.List<string>
{
    "scans/page1.png",
    "scans/page2.jpg",
    "scans/page3.tiff"
};

PdfDocument pdfFromImages = ImageToPdfConverter.ImageToPdf(imageFiles);
pdfFromImages.SaveAs("scanned-document.pdf");

// Extract images from an existing document
PdfDocument existing = PdfDocument.FromFile("annual-report.pdf");
var images = existing.ExtractAllImages();
int index = 0;
foreach (var img in images)
{
    img.SaveAs($"extracted/image_{index++}.png");
}

// Extract all text content for indexing or search
string fullText = existing.ExtractAllText();
System.IO.File.WriteAllText("report-text.txt", fullText);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ImageToPdfConverterとテキスト抽出の操作

ImageToPdfConverterクラスはデフォルトでは元の画像寸法を保持しますが、IronPdf.Imaging.ImageBehavior.CenterImage または FitToPage を指定することで、画像をターゲットの用紙サイズに拡大縮小できます。 JPEG、PNG、GIF、TIFF、BMP、WebP 形式がすべてサポートされています。

ExtractAllText() によるテキスト抽出は、PDF に埋め込みテキスト レイヤーが含まれている場合、ネイティブ PDF と画像ベース (スキャン) のドキュメントの両方から機械可読テキストを返します。 テキスト レイヤーのないスキャンされた PDF の場合、 IronPDFとIronOCRを組み合わせると、単一のNuGetインストールで光学文字認識が追加されます。 ExtractAllImages() メソッドは、保存、サイズ変更、または他の画像処理ライブラリに直接渡すことができる AnyBitmap オブジェクトのコレクションを返します。

 IronPDF ImageToPdfConverter は PNG および JPEG ファイルを複数ページの PDF に変換します ImageToPdfConverter の出力: 3 つのソース画像ファイルを 1 つの複数ページの PDF ドキュメントに結合します。

パスワードとデジタル署名を使用して PDF ドキュメントをどのように保護しますか?

エンタープライズ PDF ワークフローでは、通常、暗号化、デジタル署名、またはその両方が行われたドキュメントが必要になります。 IronPDF は、SecuritySettings プロパティと PdfSignature クラスを通じてこれらの機能を公開します。

using IronPdf;
using IronPdf.Signing;

// Load an existing contract
PdfDocument contract = PdfDocument.FromFile("contracts/service-agreement.pdf");

// Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024";
contract.SecuritySettings.UserPassword = "client-readonly";
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
contract.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply a digital signature from a .pfx certificate
var signature = new PdfSignature("certs/company.pfx", "cert-password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "Chicago, IL",
    SigningReason = "Contract Authorization"
};

contract.Sign(signature);
contract.SaveAs("contracts/service-agreement-signed.pdf");
using IronPdf;
using IronPdf.Signing;

// Load an existing contract
PdfDocument contract = PdfDocument.FromFile("contracts/service-agreement.pdf");

// Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024";
contract.SecuritySettings.UserPassword = "client-readonly";
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
contract.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply a digital signature from a .pfx certificate
var signature = new PdfSignature("certs/company.pfx", "cert-password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "Chicago, IL",
    SigningReason = "Contract Authorization"
};

contract.Sign(signature);
contract.SaveAs("contracts/service-agreement-signed.pdf");
Imports IronPdf
Imports IronPdf.Signing

' Load an existing contract
Dim contract As PdfDocument = PdfDocument.FromFile("contracts/service-agreement.pdf")

' Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024"
contract.SecuritySettings.UserPassword = "client-readonly"
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit
contract.SecuritySettings.AllowUserCopyPasteContent = False

' Apply a digital signature from a .pfx certificate
Dim signature As New PdfSignature("certs/company.pfx", "cert-password") With {
    .SigningContact = "legal@company.com",
    .SigningLocation = "Chicago, IL",
    .SigningReason = "Contract Authorization"
}

contract.Sign(signature)
contract.SaveAs("contracts/service-agreement-signed.pdf")
$vbLabelText   $csharpLabel

セキュリティ設定と権限制御

SecuritySettings プロパティは、 PDF 1.7 仕様で定義されている PDF 権限に直接マッピングされます。 OwnerPassword を設定するだけで、PDF リーダーのレベルでの編集と印刷が制限されます。 UserPassword を追加すると、ファイルを開くためにパスワードが必要になります。

デジタル署名では、Windows証明書ストアやほとんどの認証局で使用されているのと同じ形式である、.pfx形式のX.509証明書が使用されます。 署名には、Adobe Acrobat の署名パネルに表示される連絡先、場所、理由のフィールドが含まれており、多くの電子署名コンプライアンス要件を満たしています。 セキュリティ上の危険をもたらすスクリプトや埋め込みメタデータを含む可能性のある PDF ドキュメントの場合、サニタイズ メソッドは配布前にJavaScript、埋め込みファイル、および非表示のメタデータを削除します。

 Adob​​e Acrobatで検証済みの署名が表示されたPDF契約書にIronPDFデジタル署名が適用されています IronPDF PdfSignatureの結果: 契約書にX.509証明書が適用され、署名パネルがAdobe Acrobatで表示される

PDF フォーム フィールドをどのように入力して読み取るのでしょうか?

アクロフォーム および XFA フォーム処理は、保険、医療、法律文書のワークフローで頻繁に必要となります。 IronPDF は、 Acrobat や PDF ビューアを必要とせずに、既存のフォームからフィールド名を読み取り、プログラムによって値を書き込みます。

using IronPdf;

// Open a PDF containing AcroForm fields
PdfDocument form = PdfDocument.FromFile("forms/application-form.pdf");

// List all field names for discovery
foreach (var field in form.Form.Fields)
{
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}");
}

// Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith";
form.Form.FindFormField("date_of_birth").Value = "1985-04-12";
form.Form.FindFormField("agree_terms").Value = "true"; // checkbox

// Flatten the form to prevent further editing
form.Form.Flatten();
form.SaveAs("forms/completed-application.pdf");
using IronPdf;

// Open a PDF containing AcroForm fields
PdfDocument form = PdfDocument.FromFile("forms/application-form.pdf");

// List all field names for discovery
foreach (var field in form.Form.Fields)
{
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}");
}

// Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith";
form.Form.FindFormField("date_of_birth").Value = "1985-04-12";
form.Form.FindFormField("agree_terms").Value = "true"; // checkbox

// Flatten the form to prevent further editing
form.Form.Flatten();
form.SaveAs("forms/completed-application.pdf");
Imports IronPdf

' Open a PDF containing AcroForm fields
Dim form As PdfDocument = PdfDocument.FromFile("forms/application-form.pdf")

' List all field names for discovery
For Each field In form.Form.Fields
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}")
Next

' Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith"
form.Form.FindFormField("date_of_birth").Value = "1985-04-12"
form.Form.FindFormField("agree_terms").Value = "true" ' checkbox

' Flatten the form to prevent further editing
form.Form.Flatten()
form.SaveAs("forms/completed-application.pdf")
$vbLabelText   $csharpLabel

AcroForm によるプログラムによるフォーム処理

IronPDF のフォーム API はフィールド名を識別子として使用するため、コードは Acrobat に表示されるフィールド構造に直接マップされます。 Flatten() メソッドは、インタラクティブなフィールドを静的なコンテンツに変換し、アーカイブや送信に適した読み取り専用の PDF を生成します。 フォーム タイプ、ラジオ グループ、ドロップダウン リストの詳細については、 PDF フォーム ガイドを参照してください。

新しいフォームをゼロから生成するには、<textarea>要素を含むHTMLを使用します。 Chromium レンダラーは標準の HTML フォーム要素を アクロフォーム フィールドに自動的に変換します。つまり、Web アプリケーションで使用されている既存の HTML フォームは、構造を変更することなく入力可能な PDF を生成できます。 PDF フォームの作成方法では、ラジオ ボタン、日付ピッカー、複数選択フィールドを含む完全なワークフローについて説明します。

IronPDF と他の .NET PDF ライブラリを比較するとどうなりますか?

.NET用の PDF SDK を評価する開発者は通常、レンダリング品質、API のアクセシビリティ、展開の複雑さ、ライセンス条件を考慮します。 次の表は、これらの基準全体にわたって、一般的な.NET の代替製品と比較したIronPDF の位置付けを示しています。

主要な開発者基準による.NET PDF ライブラリの比較
図書館 HTMLからPDFへ .NET 10 サポート フォーム処理 デジタル署名 ライセンスモデル
IronPDF Chromiumベース(フルCSS3/JS) はい アクロフォーム + XFA はい (.pfx) 開発者ごとにロイヤリティフリー
QuestPDF いいえ(コードファーストレイアウトエンジン) はい なし なし MIT(コミュニティ)、商業
iText Core アドオンのみ はい アクロフォーム はい AGPLまたは商用
Syncfusion PDF 部分的(CSS2サブセット) はい アクロフォーム はい 開発者ごとまたは収益ベース
PDFsharp なし はい(v6以上) 制限あり なし MIT

IronPDF のライセンス ページでは、SaaS 展開、OEM 再配布、およびIronPDFに加えてIronOCRIronBarcodeIronXLが含まれたIron Suiteバンドル (各製品を個別に購入するよりも大幅に割引) について説明しています。

IronPDFの主な差別化要因は HTML レンダリング品質です。 低レベルの PDF 描画 API を中心に構築されたライブラリでは、開発者が CSS レイアウト ロジックを手動で複製する必要があります。 既存の HTML テンプレートまたはRazorビューでドキュメント構造がすでに定義されている場合は、コードファースト描画 API を使用してレイアウトを再構築するよりも、それらを直接 PDF に変換する方が高速で保守しやすくなります。

.NET PDF SDK で注目すべき主な機能は何ですか?

運用アプリケーション用の PDF ライブラリを選択する際には、PDF が作成されることを確認する以上の作業が必要です。 ドキュメント集約型アプリケーションには、初期の概念実証作業が実際のデータ量と展開環境に拡張されて初めて明らかになる特定の機能が必要です。

クロスプラットフォームデプロイメント

実稼働レベルの .NET PDF SDK は、プラットフォーム固有のコード パスなしで、Windows Server、Linux コンテナー、および macOS 開発マシンで実行する必要があります。 IronPDF はこれら 3 つすべてを標準でサポートします。 同じNuGetパッケージが、アプリケーション コードでプラットフォームを切り替えることなく、Azure App ServiceAWS Lambda 、Docker にデプロイされます。

PDF/AおよびPDF/UA標準準拠

政府、金融、医療などの規制産業では、長期アーカイブにPDF/A 準拠を義務付けることがよくあります。 ISO 19005 PDF/A 標準では、埋め込まれたJavaScriptと埋め込まれていないフォントを制限する PDF/A-1b と PDF/A-3b を定義し、元のアプリケーションがなくてもドキュメントが読み取り可能であることを保証します。 IronPDF は既存の PDF を PDF/A に変換し、準拠性を検証して、出力が標準を満たしているかどうかを示すフラグを返します。 WCAG またはセクション 508 の要件を満たす必要があるドキュメントでは、PDF/UA (アクセシビリティ) 準拠も利用できます。

バッチ処理とメモリ管理

スケジュールされたジョブで何千もの PDF を生成したり、アップロード キューを処理したりするには、予測可能なメモリ動作が必要です。 IronPDF の混合ラスター コンテンツ (MRC) 圧縮により、テキストと高解像度画像の両方を含むドキュメントのファイル サイズが削減されます。 大量のバッチ ジョブの場合、マルチスレッド ガイドでは、Parallel.ForEachChromePdfRenderer インスタンスを使用する方法を示しています。レンダラーはスレッド セーフではないため、各タスクは独自のインスタンスを所有する必要があります。

DOCXとExcelからPDFへの変換

IronPDFはHTMLだけでなく、Word文書(.docx)やスプレッドシートを直接PDFに変換するため、ドキュメントのエクスポートワークフローにおいてMicrosoft Officeとの相互運用性やCOMオートメーションへの依存がなくなります。 IronPDFとIronXLを組み合わせると、サーバーに Office をインストールしなくても、スプレッドシートから PDF への完全なパイプラインを実現できます。

次のステップは何ですか?

IronPDF は、複雑な PDF ワークフローを保守可能な C# コードに変換します。 完全な CSS3 忠実度を備えた HTML から PDF への変換から、デジタル署名、フォーム処理、PDF/A アーカイブまで、このライブラリは単一のNuGetパッケージでドキュメントのライフサイクル全体をカバーします。

チュートリアル、ハウツー ガイド、 API リファレンスを調べるには、まずIronPDFドキュメント ハブにアクセスしてください。 サンプルギャラリーには、 PDFの結合透かしの追加ヘッダーとフッターへのスタンプ機密コンテンツの墨消しなど、最も一般的なPDFタスクを実行するためのコードが用意されています。

実稼働展開用のライセンスを購入するか、無料トライアルを開始して、一切の義務を負うことなく完全な機能セットを評価してください。

今IronPDFを始めましょう。
green arrow pointer

よくある質問

最高のPDF SDKは.NET開発者にとってどれですか?

IronPDFは、完全なCSS3およびJavaScriptサポートでHTML-to-PDFを必要とする.NET開発者にとって強力な選択です。これは単一のNuGetパッケージ(IronPDF)としてインストールされ、.NET 10および.NET Framework 4.6.2+をサポートし、Windows、Linux、macOS、Azure、AWS、Dockerで設定変更なしに動作します。HTMLなしでコードファーストのレイアウト生成を行う場合、QuestPDFは無料のMITライセンスの代替品ですが、既存のPDFの読み取りや編集はサポートしていません。

IronPDFを.NETプロジェクトにインストールする方法は?

Visual Studioパッケージマネージャーコンソールで 'Install-Package IronPdf' を実行するか、NuGet GUIで 'IronPdf' を検索してください。このパッケージは.NET Standard 2.0をターゲットとしているので、.NET Framework 4.6.2+、.NET Core 2.0+、および.NET 5から.NET 10まで動作します。

IronPDFはCSS3とJavaScriptでHTMLをPDFに変換できますか?

はい。IronPDFはGoogleフォント、flexbox、グリッド、JavaScriptを含む完全なCSS3レイアウトサポートでHTMLをレンダリングするChromiumベースのエンジンを使用します。HTML文字列をChromePdfRenderer.RenderHtmlAsPdfに渡すか、URLをRenderUrlAsPdfまたはRenderUrlAsPdfAsyncに渡します。

IronPDFはデジタル署名をサポートしていますか?

はい。.pfx証明書ファイルを使用してPdfSignatureクラスを利用します。SigningContact、SigningLocation、SigningReasonを設定してから、PdfDocument.Sign(signature)を呼び出します。結果の署名はAdobe Acrobatの署名パネルに表示され、多くの電子署名コンプライアンス要件を満たします。

C#でIronPDFを使用してPDFフォームフィールドを埋める方法は?

PdfDocument.FromFileでPDFをロードし、form.Form.FindFormField("fieldName").Valueを使用して値を設定します。保存する前にform.Form.Flatten()を呼び出してインタラクティブなフィールドを静的コンテンツに変換します。IronPDFはAcroFormのテキストフィールド、チェックボックス、ラジオボタン、ドロップダウンをサポートしています。

IronPDFが提供するPDFセキュリティ機能は?

IronPDFのSecuritySettingsプロパティは別々のオーナーおよびユーザーパスワードでAES-256暗号化をサポートしています。印刷、編集、コピペを独立して制限できます。Sanitizeメソッドは、配布前に文書からJavaScript、埋め込みファイル、メタデータを削除します。

IronPDFはアーカイブコンプライアンスのためにPDF/Aをサポートしていますか?

はい。IronPDFは既存のPDFをPDF/A-1bまたはPDF/A-3b形式に変換し、コンプライアンスを検証できます。変換APIとコンプライアンスフラグの詳細はironpdf.com/how-to/pdf-a-compliance/で確認してください。

IronPDFは.NET用のiTextとどのように比較されますか?

IronPDFとiText CoreはどちらもAcroFormの処理とデジタル署名をサポートしています。主な違いはライセンスとHTMLレンダリングです。iText CoreはAGPLライセンス(商用アプリには商用ライセンスが必要)で、HTML変換用のアドオンを使用しています。IronPDFは商用ライセンスで開発者毎の価格設定がされており、完全なCSS3サポート付きのHTML-to-PDFには組み込みのChromiumエンジンを使用します。

IronPDFはLinuxとDockerで実行できますか?

はい。同じNuGetパッケージがUbuntu、Debian、CentOS、AlpineベースのDockerイメージで動作します。Linuxではlibgdiplusおよびフォントパッケージ(例:fontconfig、libfreetype6)をインストールします。Linuxのデプロイメントガイドはironpdf.com/get-started/linux/で各ディストリビューション固有のパッケージ要件を一覧化しています。

IronPDFを使用して画像をPDFに変換する方法は?

ImageToPdfConverter.ImageToPdf(imageFileList)を使用してJPEG、PNG、TIFF、BMP、GIF、またはWebPファイルを単一の多ページPDFに結合します。IronPDF.Imaging.ImageBehavior.FitToPageやCenterImageを指定してスケーリング動作を制御します。

カーティス・チャウ
テクニカルライター

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね