Ghostscript GPL vs IronPDF:技術比較ガイド
Ghostscript GPLvs IronPDF:.NET開発者のための技術的な比較
.NET開発者がPDF処理ソリューションを評価するとき、Ghostscript GPLは数十年の歴史を持つ由緒あるPostScriptおよびPDFインタプリタとして浮上します。 しかし、AGPLライセンスの制限、プロセスの起動を必要とするコマンドラインインターフェイス、外部バイナリへの依存性などから、多くのチームが代替ツールの評価を検討しています。 IronPdfは、型付きAPI、Chromiumを介した組み込みのHTMLからPDFへの変換、自己完結型のNuGetデプロイメントによる.NETネイティブのアプローチを提供します。
この比較では、.NET PDFの要件について、プロの開発者やアーキテクトが十分な情報に基づいた決定を下せるように、技術的に関連する次元で両ツールを検証します。
GhostscriptのGPLについて
Ghostscript GPL は、AGPL ライセンスの下で利用可能なオープンソースの PostScript および PDF インタプリタです。 PDF文書を変換、レンダリング、管理する機能は、数十年にわたる開発に根ざしており、バックエンドPDF処理タスクのための成熟した信頼できるソリューションとなっています。
Ghostscript は基本的にコマンドラインツールです。 C#からこれを使用するには、GhostscriptProcessorを介してプロセスを生成し、-dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=...のような文字列ベースのスイッチを渡し、エラーのために出力または標準エラーファイルを解析する必要があります。 このライブラリは、GhostscriptVersionInfoを使用して適切な DLL (プラットフォームのアーキテクチャに応じて、gsdll32.dll または gsdll64.dll) を探します。
PDF から画像への変換のために、GhostscriptRasterizer は、1 インデックスのページ番号を使用して、Open()、PageCount、GetPage() メソッドによるページごとのラスタライズを提供します。 各作業では、外部 Ghostscript バイナリのインストール、PATH 設定、およびデプロイ環境間のバージョンの互換性を管理する必要があります。
IronPDFの理解
IronPDFはネイティブの.NET PDFライブラリで、型付けされたインテリセンス対応APIを通してC#アプリケーションとシームレスに統合されます。 このライブラリは、HTMLからPDFへの変換に組み込みのChromiumエンジンを使用しており、JavaScript、CSS、HTML5をサポートし、正確なウェブコンテンツのレンダリングを実現します。
IronPDFはChromePdfRendererを主要なレンダリングクラスとして使用し、RenderHtmlAsPdf()はHTML文字列を直接受け取ります。 既存のPDFについては、PdfDocument.FromFile()がドキュメントをロードし、Merge()、ToBitmap()、SaveAs()のようなメソッドがPDF操作を提供します。 ライブラリは、外部のバイナリに依存することなく、自己完結型のNuGetパッケージとしてデプロイされます。
アーキテクチャと統合の比較
これらのツールの基本的な違いは、.NETアプリケーションとの統合アプローチにあります。
| アスペクト | Ghostscript GPL | IronPDF |
|---|---|---|
| ライセンス | AGPL(ウィルス性)または高価な商用 | 明確な用語によるコマーシャル |
| 統合。 | コマンドラインプロセスの起動 | .NETネイティブライブラリ |
| APIデザイン。 | 文字列ベースのスイッチ | 型付き、インテリセンス対応API |
| エラー処理。 | 標準エラーテキストの解析 | .NET の例外 |
| HTMLからPDFへ。 | 非対応(外部ツールが必要) | 内蔵Chromiumエンジン |
| 依存関係について | 外部バイナリのインストール | 自己完結型NuGetパッケージ |
| デプロイメント | PATHの設定、DLLのコピー | NuGetリファレンスを追加するだけです。 |
| スレッドセーフティ | プロセス分離のみ | スレッドセーフ設計 |
| モダン.NET | 限定サポート | .NET 6/7/8をフルサポート |
| 非同期サポートについて | プロセスベース | ネイティブasync/await |
パラダイムシフトは重要です:
Ghostscript GPL: "Pass these string switches to external process"
IronPDF: "Call these methods on .NET objects"Ghostscript GPLのAGPLライセンスは、Artifexから高価な商用ライセンスを購入しない限り、それを使用するソフトウェアを配布する場合、ソースコードを公開することを要求します。 このライセンスの複雑さは、商用アプリケーションにとって大きな考慮事項です。
コードの比較:一般的なPDF操作
HTMLからPDFへの変換
この作業は、2つのアプローチの中核となるアーキテクチャの違いを示しています。
GhostscriptのGPL:。
// NuGet: Install-Package Ghostscript.NET
using Ghostscript.NET;
using Ghostscript.NET.Processor;
using System.IO;
using System.Text;
class GhostscriptExample
{
static void Main()
{
// Ghostscript cannot directly convert HTML to PDF
// You need to first convert HTML to PS/EPS using another tool
// then use Ghostscript to convert PS to PDF
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
string psFile = "temp.ps";
string outputPdf = "output.pdf";
// This is a workaround - Ghostscript primarily works with PostScript
GhostscriptProcessor processor = new GhostscriptProcessor();
List<string> switches = new List<string>
{
"-dNOPAUSE",
"-dBATCH",
"-dSAFER",
"-sDEVICE=pdfwrite",
$"-sOutputFile={outputPdf}",
psFile
};
processor.Process(switches.ToArray());
}
}// NuGet: Install-Package Ghostscript.NET
using Ghostscript.NET;
using Ghostscript.NET.Processor;
using System.IO;
using System.Text;
class GhostscriptExample
{
static void Main()
{
// Ghostscript cannot directly convert HTML to PDF
// You need to first convert HTML to PS/EPS using another tool
// then use Ghostscript to convert PS to PDF
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
string psFile = "temp.ps";
string outputPdf = "output.pdf";
// This is a workaround - Ghostscript primarily works with PostScript
GhostscriptProcessor processor = new GhostscriptProcessor();
List<string> switches = new List<string>
{
"-dNOPAUSE",
"-dBATCH",
"-dSAFER",
"-sDEVICE=pdfwrite",
$"-sOutputFile={outputPdf}",
psFile
};
processor.Process(switches.ToArray());
}
}IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
class IronPdfExample
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}コードのコメントには、Ghostscript GPL は HTML を直接 PDF に変換できないことを明記しています。 まず別のツールを使ってHTMLをPostScriptに変換し、次にGhostscript GPLを使ってPostScriptをPDFに変換する必要があります。 この多段階のパイプラインは複雑さを増し、追加の外部ツールを必要とします。
IronPDFはChromePdfRendererを作成し、RenderHtmlAsPdf()をHTML文字列で直接呼び出し、SaveAs()で保存します。 内蔵のChromiumエンジンは、CSS、JavaScript、HTML5を完全にサポートし、HTMLをレンダリングします。
高度なHTMLレンダリングオプションについては、HTMLからPDFへの変換ガイドをご覧ください。
PDFから画像への変換
PDFページを画像に変換することで、ラスタライズワークフローの違いを示しています。
GhostscriptのGPL:。
// NuGet: Install-Package Ghostscript.NET
using Ghostscript.NET;
using Ghostscript.NET.Rasterizer;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
class GhostscriptExample
{
static void Main()
{
string inputPdf = "input.pdf";
string outputPath = "output";
GhostscriptVersionInfo gvi = new GhostscriptVersionInfo("gsdll64.dll");
using (GhostscriptRasterizer rasterizer = new GhostscriptRasterizer())
{
rasterizer.Open(inputPdf, gvi, false);
for (int pageNumber = 1; pageNumber <= rasterizer.PageCount; pageNumber++)
{
Image img = rasterizer.GetPage(300, pageNumber);
img.Save($"{outputPath}_page{pageNumber}.png", ImageFormat.Png);
img.Dispose();
}
}
}
}// NuGet: Install-Package Ghostscript.NET
using Ghostscript.NET;
using Ghostscript.NET.Rasterizer;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
class GhostscriptExample
{
static void Main()
{
string inputPdf = "input.pdf";
string outputPath = "output";
GhostscriptVersionInfo gvi = new GhostscriptVersionInfo("gsdll64.dll");
using (GhostscriptRasterizer rasterizer = new GhostscriptRasterizer())
{
rasterizer.Open(inputPdf, gvi, false);
for (int pageNumber = 1; pageNumber <= rasterizer.PageCount; pageNumber++)
{
Image img = rasterizer.GetPage(300, pageNumber);
img.Save($"{outputPath}_page{pageNumber}.png", ImageFormat.Png);
img.Dispose();
}
}
}
}IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class IronPdfExample
{
static void Main()
{
var pdf = PdfDocument.FromFile("input.pdf");
var images = pdf.ToBitmap();
for (int i = 0; i < images.Length; i++)
{
images[i].Save($"output_page{i + 1}.png");
}
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class IronPdfExample
{
static void Main()
{
var pdf = PdfDocument.FromFile("input.pdf");
var images = pdf.ToBitmap();
for (int i = 0; i < images.Length; i++)
{
images[i].Save($"output_page{i + 1}.png");
}
}
}Ghostscript GPL では、プラットフォーム固有の DLL (gsdll64.dll) を指すGhostscriptVersionInfo(ゴーストスクリプトバージョンインフォを作成し、GhostscriptRasterizer でファイルを開き、rasterizer.GetPage(dpi, pageNumber) を使用して 1 インデックスのページを繰り返し処理する必要があります。 各画像は明示的に処分する必要があります。
IronPDFはPdfDocument.FromFile()を使用してPDFを読み込み、ToBitmap()を呼び出してすべてのページ画像を一度に取得し、標準的な0インデックスループで反復処理を行います。 外部のDLLリファレンスやバージョン情報は必要ありません。
複数のPDFをマージする
PDFのマージは、コマンドラインスイッチパターンと型付けされたAPIのアプローチを示しています。
GhostscriptのGPL:。
// NuGet: Install-Package Ghostscript.NET
using Ghostscript.NET;
using Ghostscript.NET.Processor;
using System.Collections.Generic;
class GhostscriptExample
{
static void Main()
{
string outputPdf = "merged.pdf";
string[] inputFiles = { "file1.pdf", "file2.pdf", "file3.pdf" };
GhostscriptProcessor processor = new GhostscriptProcessor();
List<string> switches = new List<string>
{
"-dNOPAUSE",
"-dBATCH",
"-dSAFER",
"-sDEVICE=pdfwrite",
$"-sOutputFile={outputPdf}"
};
switches.AddRange(inputFiles);
processor.Process(switches.ToArray());
}
}// NuGet: Install-Package Ghostscript.NET
using Ghostscript.NET;
using Ghostscript.NET.Processor;
using System.Collections.Generic;
class GhostscriptExample
{
static void Main()
{
string outputPdf = "merged.pdf";
string[] inputFiles = { "file1.pdf", "file2.pdf", "file3.pdf" };
GhostscriptProcessor processor = new GhostscriptProcessor();
List<string> switches = new List<string>
{
"-dNOPAUSE",
"-dBATCH",
"-dSAFER",
"-sDEVICE=pdfwrite",
$"-sOutputFile={outputPdf}"
};
switches.AddRange(inputFiles);
processor.Process(switches.ToArray());
}
}IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;
class IronPdfExample
{
static void Main()
{
var pdfs = new List<PdfDocument>
{
PdfDocument.FromFile("file1.pdf"),
PdfDocument.FromFile("file2.pdf"),
PdfDocument.FromFile("file3.pdf")
};
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;
class IronPdfExample
{
static void Main()
{
var pdfs = new List<PdfDocument>
{
PdfDocument.FromFile("file1.pdf"),
PdfDocument.FromFile("file2.pdf"),
PdfDocument.FromFile("file3.pdf")
};
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
}
}Ghostscript GPL では、文字列スイッチ (-dNOPAUSE, -dBATCH, -dSAFER, -sDEVICE=pdfwrite, -sOutputFile=...) のリストを作成し、入力ファイルをリストに追加し、文字列配列で processor.Process() を呼び出す必要があります。 暗号化されたスイッチ構文は暗記が必要で、インテリセンスもサポートしていません。
IronPDFは各PDFをPdfDocument.FromFile()でロードし、ドキュメントのリストを作成し、静的なPdfDocument.Merge()メソッドを呼び出します。 型付きAPIは、インテリセンスとコンパイル時チェックを提供します。
PDF操作についてはIronPDFチュートリアルをご覧ください。
APIとスイッチのマッピングリファレンス
Ghostscript GPL の移行を評価したり、機能を比較したりする開発者のために、このマッピングは同等の操作を示します:
コア クラス マッピング
| Ghostscript GPL | IronPDF | ノート |
|---|---|---|
GhostscriptProcessor(ゴーストスクリプトプロセッサー | PdfDocumentメソッド | PDFオペレーション |
GhostscriptRasterizer(ゴーストスクリプトラスタライザー | pdf.ToBitmap()/RasterizeToImageFiles()。 | PDFから画像へ |
GhostscriptVersionInfo(ゴーストスクリプトバージョンインフォ | 該当なし(不要) | 外部DLLなし |
| <コード>GhostscriptStdIO</コード | 該当なし(例外あり) | I/O処理 |
| プロセス+コマンドライン | <コード>ChromePdfRenderer</コード | HTMLからPDFへ |
コマンドライン スイッチ マッピング
| Ghostscript GPL スイッチ | IronPDF 同等物 | 翻訳内容 |
|---|---|---|
-dNOPAUSE | 該当なし(不要) | ページ間で一時停止しない |
-dBATCH | 該当なし(不要) | 処理終了後 |
-dSAFER | 該当なし(デフォルト) | 安全なファイルアクセス |
-sDEVICE=pdfwrite。 | さまざまなPDFメソッド | 出力PDF |
-sDEVICE=png16m。 | RasterizeToImageFiles("*.png")。 | PNG出力 |
-sDEVICE=jpeg。 | RasterizeToImageFiles("*.jpg")。 | JPEG出力 |
-sOutputFile=X。 | SaveAs("X")のようにします。 | 出力ファイル名 |
-r300 | メソッド内のDPIパラメータ | 解像度 |
-dPDFSETTINGS=/screen<//code> | <コード>CompressImages(quality: 50) | 低品質圧縮 |
-dPDFSETTINGS=/ebook | <コード>CompressImages(quality: 75) | 中品質圧縮 |
-dFirstPage=N | <コード>CopyPages(N-1, ...) | スタートページ (1-indexed → 0-indexed) |
-sOwnerPassword=X。 | pdf.SecuritySettings.OwnerPassword = "X". | 暗号化 |
-sUserPassword=X。 | pdf.SecuritySettings.UserPassword = "X". | パスワード保護 |
ページインデックスの違い
決定的な違いは、ページのインデックスです:
// Ghostscript GPL: 1-indexed pages
for (int pageNumber = 1; pageNumber <= rasterizer.PageCount; pageNumber++)
{
Image img = rasterizer.GetPage(300, pageNumber);
}
// IronPDF: 0-indexed pages (standard .NET)
for (int i = 0; i < images.Length; i++)
{
images[i].Save($"output_page{i + 1}.png");
}// Ghostscript GPL: 1-indexed pages
for (int pageNumber = 1; pageNumber <= rasterizer.PageCount; pageNumber++)
{
Image img = rasterizer.GetPage(300, pageNumber);
}
// IronPDF: 0-indexed pages (standard .NET)
for (int i = 0; i < images.Length; i++)
{
images[i].Save($"output_page{i + 1}.png");
}Ghostscript GPLは1インデックスのページ番号(-dFirstPage=5)を使用し、IronPDFは.NETの規約(CopyPages(4))に一致する0インデックスのページを使用します。
マイグレーションの複雑さの評価
| フィーチャー | 移行の複雑さ | ノート |
|---|---|---|
| PDFから画像へ | 低レベル | 直接APIマッピング |
| PDFのマージ | 低レベル | IronPDFでよりシンプルに |
| PDF圧縮 | 低レベル | 組み込みオプション |
| ポストスクリプトからPDFへ | 中規模 | まずPSからPDFに変換 |
| PDF最適化 | 低レベル | さまざまなアプローチ |
| 暗号化 | 中規模 | さまざまなAPI |
| PDF/A変換 | 低レベル | 組み込みサポート |
| カスタムスイッチ | 中・高 | 同等の機能の研究 |
機能比較の概要
| フィーチャー | Ghostscript GPL | IronPDF |
|---|---|---|
| HTMLからPDFへ | ❌ (外部ツールが必要) | ✅ (組み込みChromium) |
| PDFから画像へ | ✅ (GhostscriptRasterizer) | ✅ (ToBitmap) |
| PDFのマージ | ✅ (コマンドラインスイッチ) | ✅ (静的マージ) |
| ネイティブ.NET API | ❌ (プロセス・スポーン) | ✅ |
| インテリセンスのサポート | ❌ (文字列スイッチ) | ✅ |
| 例外処理 | ❌ (標準エラー解析) | ✅ |
| 外部バイナリ | ✅ (gsdll*.dllが必要です) | ❌ |
| AGPLライセンス | ✅ (ソースの開示が必要) | ❌ |
| 非同期サポート | ❌ (プロセスベース) | ✅ (ネイティブ非同期/待機) |
| スレッドの安全性 | プロセス分離のみ | ✅ (デザインによる) |
チームがGhostscript GPLからIronPDFへの移行を検討するとき
開発チームがGhostscript GPLからIronPDFへの移行を評価する理由はいくつかあります:
AGPL ライセンスの制限:Ghostscript GPLの AGPL ライセンスでは、Artifex から高価な商用ライセンスを購入しない限り、それを使用するソフトウェアを配布する場合、ソース コードをリリースする必要があります。 これは、プロプライエタリなアプリケーションにとって重要な考慮事項です。
コマンドライン インターフェイスの複雑さ:Ghostscript GPLは基本的にコマンドライン ツールです。 C#からこのツールを使用するには、プロセスを起動し、文字列引数を渡し、出力を解析する必要があります。 インテリセンスはなく、型安全性もなく、エラーは解析が必要なテキスト文字列として標準エラー出力に出力されます。
ネイティブ HTML から PDF への変換なし:Ghostscript GPLは HTML を PDF に直接変換できません。 まずHTMLをPostScriptに変換し、次にGhostscript GPLを使ってPostScriptをPDFに変換するという、外部ツールを使った多段階のパイプラインが必要です。 IronPDFの内蔵ChromiumエンジンはHTML/CSS/JavaScriptを直接処理します。
外部バイナリ管理:Ghostscript GPLを個別にインストールし、PATH 変数を管理し、展開環境間でのバージョン互換性を確保する必要があります。 32ビットと64ビットで異なるDLL(gsdll32.dllとgsdll64.dll)は、慎重なデプロイ設定が必要です。 IronPdfは自己完結型のNuGetパッケージとしてデプロイされます。
プロセス管理のオーバーヘッド: Ghostscript GPLの各操作は個別のプロセスを生成するため、エラー処理、タイムアウト、リソースのクリーンアップなどのオーバーヘッドと複雑さが増します。IronPDFは、標準的な例外処理を備えたネイティブ.NETメソッドを提供します。
難解なスイッチ構文:操作は-dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=...などのスイッチを介して制御されます。これらのスイッチは記憶する必要があり、コンパイル時のチェックは提供されません。
長所と考慮点
ゴーストスクリプト GPL の長所
-豊富な機能: PDFの処理、変換、レンダリング、表示のための包括的なスイート -成熟度と信頼性:強力なコミュニティによる数十年にわたる開発
- PostScriptサポート:ネイティブPostScript解釈
GhostscriptのGPLに関する考察
- AGPLライセンス:商用ライセンスを購入しない限り、ソースコードの開示が必要 -コマンドライン統合: C# からのプロセス生成が必要
- HTMLからPDFへの変換機能なし:外部ツールが必要 -外部バイナリ: DLL管理とPATH設定 -プラットフォーム固有のDLL: 32ビットと64ビットの考慮事項 -文字列ベースのAPI: IntelliSenseなし、型安全性なし
IronPDFの強み
-ネイティブ .NET ライブラリ:シームレスな Visual Studio 統合
IronPDFについての考察
- PostScriptはサポートされていません:最初にPDFに変換するか、HTMLを使用してください -商用ライセンス:実稼働環境での使用に必要
結論
Ghostscript GPLとIronPDFは.NETでPDFを処理するための根本的に異なるアプローチです。Ghostscript GPLのコマンドラインの伝統は、統合にプロセス・スポーン、文字列ベースのスイッチ、外部バイナリ管理が必要であることを意味します。 AGPLライセンスでは、商用ライセンスを購入しない限り、配布アプリケーションのソースコードの開示が義務付けられています。
IronPdfは、型付きAPI、インテリセンスのサポート、Chromium経由の組み込みHTML-to-PDF、自己完結型のNuGetデプロイメントを備えた.NETネイティブの代替を提供します。 このライブラリは、プロセス・スポーン、外部バイナリの依存関係、不可解なスイッチ構文を排除します。
組織が.NET 10、C# 14、2026年までのアプリケーション開発を計画する中で、コマンドラインツールの統合とネイティブ.NETライブラリのどちらを選択するかは、開発速度とデプロイの複雑さに大きく影響します。 最新の.NETパターン、HTML-to-PDF機能、簡素化されたライセンシングを求めるチームは、IronPDFがこれらの優先事項に効果的に対応していることに気づくでしょう。
無料トライアルでIronPDFの評価を開始し、包括的なドキュメントを参照して、特定の要件への適合性を評価してください。
よくある質問
Ghostscript GPLとIronPDFの主な違いは何ですか?
Ghostscript GPLはコマンドラインスイッチを使用する無料のオープンソースツールで、IronPDFはネイティブの.NET APIを提供し、.NET開発者により統合されたエクスペリエンスを提供します。
Ghostscript GPLのライセンスはIronPDFとどう違うのですか?
Ghostscript GPLはAGPLのもとでライセンスされており、改変を共有する必要があります。一方、IronPDFは商用ライセンスを提供しており、クローズドソースプロジェクトを許可しています。
IronPDFはHTMLをPDFに変換できますか?
IronPDFはHTMLをPDFに変換する強力な機能を持っており、.NETアプリケーション内の複雑なウェブページを正確にレンダリングします。
Ghostscript GPL は .NET 開発者に適していますか?
Ghostscript GPLは.NET開発者にも使用できますが、.NET環境用に特別に設計されたIronPDFと比較すると、追加の統合作業が必要になるかもしれません。
IronPDFはPDF編集機能をサポートしていますか?
はい、IronPDFは結合、分割、注釈の追加など様々なPDF編集機能をサポートしており、.NETプロジェクトで簡単に実装できます。
IronPdfのような.NETネイティブAPIを使う利点は何ですか?
IronPDFのような.NETネイティブAPIは、Ghostscriptのようなコマンドラインツールと比較して、.NETアプリケーション内でシームレスな統合、より良いパフォーマンス、より簡単な保守性を提供します。
IronPdfを使用する際にパフォーマンス上の注意点はありますか?
IronPDFは.NETアプリケーションのパフォーマンスを最適化し、高速なPDF生成と処理機能を提供します。
IronPdfは開発環境と本番環境の両方で使用できますか?
IronPDFは開発環境と生産環境の両方で使用できるように設計されており、.NETアプリケーションに信頼性と一貫性のあるPDF生成を提供します。
IronPDFユーザーへのサポートはどのようになっていますか?
IronPDFはユーザーに専用のサポートを提供し、開発者が.NETプロジェクトにPDF機能を統合する際にサポートやガイダンスを受けられるようにしています。
IronPDFはPDFのセキュリティをどのように扱いますか?
IronPdfはパスワード保護や電子署名などPDFを保護する機能を提供し、機密情報を確実に保護します。







