最高のC# PDFライブラリを選ぶための究極のガイド
Foxit PDF SDK for .NET と Iron Suite が反対側に座る自らを提供する公開価格永続的な調達対見積もりのみの企業調達:Foxit は開発者SDKを見積もりのみで販売しており、公開されていないUS ドル価格がないため、モジュールの追加構造は、OCR、変換、編集、および比較がそれぞれ個別にライセンスされたラインアイテムで、コアに追加で有効化されます。 Iron Suiteは、1人の開発者につき$2,998からの公表された永続価格で提供され、10のIron製品すべてを1つのライセンスでカバーし、ライセンス対象の席でロイヤリティフリーの展開が可能で、SaaSまたはOEMシナリオ用の個別の再配布アドオンがあります。
この記事は、調達主導の決定が実際に何に依存しているかを導く:各スイートがどのように価格付けされ、ライセンスが実際に何をカバーしているか、および追加のカスタマイズがどのように必15ーメントされるか。 統合するためのエンジニア向けの能力別詳細が以下に続きます。
一望での比較
| 次元 | Foxit PDF SDK | Iron Suite |
|---|---|---|
| 価格設定の位置付け | 開発者 SDK に対する見積もりのみ; PDF 圧縮サーバー製品 ~$375/年 12,000 ページあたり | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterpriseカスタム). 2つの価格で10製品すべてを、75%節約 |
| ライセンスモデル | 商業的引用ベースの開発者あたりおよび展開ごとのロイヤルティ; modular add-on licensing | 永続開発者ごと; ロイヤリティフリーの基本 + SaaS/OEM のための再配布アドオン |
| バンドル内のコンポーネント | コア PDF SDK + 変換、OCR、編集、比較のアドオン; PDF 圧縮は別売り | 10 製品(PDF、Word、Excel、PPT、OCR、Barcode、QR、Print、ZIP、WebScraper) |
| フォーマット/機能力カバー | PDF 中心; Office は変換アドオンを通じて処理されます; ネイティブの Word/Excel/PPT 操作はなく、バーコード/QR はなく、ウェブスクレイピングもありません。 | PDF + ネイティブ Word + Excel + PPT + OCR + Barcode + QR + Print + ZIP + ウェブスクレイピング |
| クロスプラットフォーム/クラウド | Windows 主; Linux/macOS はコア SDK を通じて; iOS/Android/MAUI/Web は個別の SDK ファミリー | Windows、Linux、macOS、Docker、Azure、AWS Lambda |
| .NETランタイムサポート | .NET Framework 4.0, .NET Core 2.1, .NET 6.0; .NET 8+ コア SDK エディションでカバー | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| ターゲット市場 | ネイティブエンジンスループットを必要とする Enterprise/ISV PDF スタック | .NET 開発者と、単一のスタンドアロン文書 + 認識バンドルを望む ISV |
| ベンダー | Foxit Software Inc. | Iron Software |
Foxit PDF SDK は開発者シートプラス展開ごとのロイヤルティプラス、別個にライセンスされたアドオン(変換、OCR、編集、比較)の有効化という層化された商業的調達を行っています。Iron SuiteLiteは、10製品バンドル全体につき開発者ごとに$2,998で、ライセンス対象の席で永続的かつロイヤリティフリーです。 Foxit's PDF 規格カバーの深さと長い ISV/OEM トラックレコードが、フラットな公表された価格に対する見積もりとアドオンの調達パスを正当化するかどうかで決まります。
価格とライセンス
Foxit PDF SDK は引き合いに基づく商業モデルを使用しています。 開発者 SDK には公表された US ドル価格ティアはありません; Foxit の自社 ナレッジベースは、価格設定が営業を通して交渉されることを確認しており、このモデルは通常、開発者座席料金プラス展開またはランタイムごとのロイヤルティとして構造化されています。 モジュラーアドオン構造は、OCR、変換、編集、比較が基本 SDK に含まれず、個別にライセンスされたラインアイテムであることを意味します。 隣接するサーバー製品 PDF コンプレッサは開発者SDKから別売りで、12,000ページの処理ごとに約 $375/年から始まります。 正確な開発者ティア価格設定は"販売に問い合わせ"のそれ以上の検証されていません。
Iron Suiteは、すべての10コンポーネントを1つの購入でまとめて、1人の開発者ごとの永続ライセンスとして$2,998から販売されています。 マーケティングの位置付け、"2の価格で10製品すべて、75%を節約します"は、個別に Iron の製品を購入するのに対するバンドル割引を反映しています。 基本ライセンスは、ライセンスされた座席用にロイヤリティフリーです; 基本ライセンスを超える SaaS、OEM、および分散再配布シナリオは、別個の再配布アドオンによってカバーされます。
Foxit の調達は層化されています:開発者座席料金プラス、展開ごとのロイヤリティプラス、OR、変換、編集、比較の別個にライセンスされたアクティベーションを、すべて営業の会話を通して行われます。Iron Suiteの調達は、ティアごとに公表された USD 価格で自己提供される永続ライセンスであり、基本ライセンスを超える SaaS および OEM 再配布に対する唯一の個別に価格付けされたアイテムとして再配布アドオンがあります。
Foxit PDF SDKfor .NET とは
Foxit PDF SDK for .NET は .NET アプリケーションに PDF 機能を埋め込むための Foxit Software の開発者ツールキットです。 コアSDKはNuGetでFoxit.SDK.Dotnetとして提供されます; バージョン 11.1.0.1(2026年4月)は .NET Framework 4.0, .NET Core 2.1, および .NET 6.0 に対応し、.NET 8+ は .NET Core SDK エディションを通してカバーされています。 この製品は Adobe PDF ライブラリおよび Apryse(以前の PDFTron)に対抗する企業および ISV PDF ワークロードに対する位置づけです; 開発者の使いやすさやバンドルの幅ではなく、ネイティブエンジンスループットと PDF 仕様のカバーの深さで競争しています。
SDK はモジュール化されています:コアは表示、レンダリング、編集、注釈、署名、フォームを処理し、専門の能力は別途アクティベートされたアドオンとしてライセンスされています。
バンドルされたコンポーネントとアドオン:
- コア PDF SDK:表示、レンダリング、編集、注釈、署名、フォームを塗りつぶす
- 変換アドオン:Office(Word、Excel、PowerPoint)↔PDF
- OCRアドオン:ラスター PDF および画像からのテキスト認識
- 編集アドオン:製品グレードのテキスト/領域削除
- 比較アドオン:構造的および視覚的 PDF 比較
- PDF コンプレッサー:SDK とは別に販売される別個のサーバー製品
Iron Suiteとは何か?
Iron Suite はIron Softwareの 10 製品 .NET バンドルで、IronPDF が中心にあります。 一次要件が PDF 生成、署名、編集、またはラスター化にあるチームは IronPDF から始め、同じライセンスでバンドルの残りを継承します。 5つのティアレベル(Lite、Plus、Professional、Unlimited、Enterprise)で、1人の開発者ごとの永続ライセンスとして$2,998から販売されています。 ライセンスされた座席に対してロイヤリティフリー; 基本ライセンスを超える SaaS および OEM 再配布は、別個の再配布アドオンでカバーされます。
PDF 主導のワークフローに関連する10のコンポーネントにグループ化:
- IronPDF(PDF アンカー):HTML-から-PDF および URL-から-PDF のバンドルされた Chromium を持つレンダリング; ネイティブマージおよびスプリットは
PdfDocument.Mergeを介して提供されます; 正規表現を使用したRedactTextOnAllPagesによる実際のテキストの編集; PKCS#12、HSM(PKCS#11)、TSA タイムスタンプ、および eIDAS および ESIGN に合わせた多者署名; AES 暗号化と粒度の細かい権限; PDF/A-1 から PDF/A-4(4E/4Fを含む); PDF/UA-1 および PDF/UA-2; AcroForm 塗りとフラット化; カスタム埋め込み、ウェブフォント、および TrueType コレクションサポートの完全なフォント管理; DPI制御を使用したPNG/JPEG/TIFFへのRasterizeToImageFiles; ファストウェブビューのためのSaveAsLinearized; テキスト抽出。 - Office:IronWord(DOCX は段落/テキストランオブジェクトグラフ)、IronXL(XLSX は数式再計算)、IronPPT(PPTX作成)。
- 認識: IronOCR(Tesseract 5、125以上の言語、約90%の英語の手書き認識)、IronBarcode(30以上のシンボル集合)、IronQR(バッチ
ReadPdfsを伴うML対応の読み取り)。 - ユーティリティ:IronPrint(サイレントおよびダイアログ印刷)、IronZIP(ZIP/TAR/GZIP/BZIP2 と AES)、IronWebScraper(インプロセススクレイピング)。
能力の比較
PDFレンダリング
PDF レンダリング(既存の PDF ドキュメントを表示、サムネイル作成、または下流の画像ベースの処理用にピクセルに変換すること)は、Foxit の主な能力の1つです。 Foxit のネイティブエンジンは、ブラウザエンジンに外部依存せずに、ページをマルチスレッドで直接ビットマップにレンダリングします。
//Foxit PDF SDK— render existing PDF to bitmap
using foxit;
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
int width = (int)page.GetWidth();
int height = (int)page.GetHeight();
Matrix2D matrix = page.GetDisplayMatrix(0, 0, width, height, page.GetRotation());
Bitmap bitmap = new Bitmap(width, height, Bitmap.DIBFormat.e_DIBArgb, IntPtr.Zero, 0);
bitmap.FillRect(0xFFFFFFFF, null);
Renderer renderer = new Renderer(bitmap, false);
renderer.StartRender(page, matrix, null);
Library.Release();//Foxit PDF SDK— render existing PDF to bitmap
using foxit;
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
int width = (int)page.GetWidth();
int height = (int)page.GetHeight();
Matrix2D matrix = page.GetDisplayMatrix(0, 0, width, height, page.GetRotation());
Bitmap bitmap = new Bitmap(width, height, Bitmap.DIBFormat.e_DIBArgb, IntPtr.Zero, 0);
bitmap.FillRect(0xFFFFFFFF, null);
Renderer renderer = new Renderer(bitmap, false);
renderer.StartRender(page, matrix, null);
Library.Release();Imports foxit
Imports foxit.common
Imports foxit.common.fxcrt
Imports foxit.pdf
Library.Initialize(sn, key)
Using doc As New PDFDoc("input.pdf")
doc.Load(Nothing)
Dim page As PDFPage = doc.GetPage(0)
page.StartParse(CInt(PDFPage.ParseFlags.e_ParsePageNormal), Nothing, False)
Dim width As Integer = CInt(page.GetWidth())
Dim height As Integer = CInt(page.GetHeight())
Dim matrix As Matrix2D = page.GetDisplayMatrix(0, 0, width, height, page.GetRotation())
Dim bitmap As New Bitmap(width, height, Bitmap.DIBFormat.e_DIBArgb, IntPtr.Zero, 0)
bitmap.FillRect(&HFFFFFFFF, Nothing)
Dim renderer As New Renderer(bitmap, False)
renderer.StartRender(page, matrix, Nothing)
End Using
Library.Release()//Iron Suite— IronPDF (HTML-to-PDF generation as the primary path)
using IronPdf;
var renderer = new ChromePdfRenderer();
string html = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>";
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");//Iron Suite— IronPDF (HTML-to-PDF generation as the primary path)
using IronPdf;
var renderer = new ChromePdfRenderer();
string html = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>";
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>"
Using pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("invoice.pdf")
End UsingFoxitのAPIサーフェスはそのネイティブC++の起源を反映しています: 明示的なLibrary.Initialize / Library.Release、手動での行列構築、ビットマップ割り当て、そして複数ステップのレンダリング呼び出し。 IronPDF のパスが反転されています; バンドルされた Chromium エンジンを通じて HTML/CSS から PDF を生成し、次にその結果のドキュメントに対して操作を行います。 既存PDFの忠実なレンダリングをスケールで行うのは、Foxitのネイティブエンジンが設計されているケースですが、IronPDFは異なるメカニズムをとり、バンドルされたChromiumパイプラインを通じてWebスタイル入力から新しいPDFを生成します。IronPDFのバンドルされたChromiumは、すべてのChromeブラウザーを含む約280 MBのNuGetパッケージ(BrowserFetcherダウンロードのない毎回のランタイム)として出荷され、LinuxコンテナやAWS LambdaでのChromium-on-hostまたはPuppeteer/Playwrightのランタイムダウンロードを調整するよりも運用上簡単です。
PDF 編集(ページ操作)
ページの挿入、削除、並べ替えは、複数のソースからレポートを組み立てたり、公開前に下書きページを削除したり、既存のドキュメントに表紙を追加したりする際の任意の PDF ワークフローの通常の操作です。
//Foxit PDF SDK— insert / remove pages
using foxit.common;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage inserted = doc.InsertPage(1, 612f, 792f);
int lastIndex = doc.GetPageCount() - 1;
doc.RemovePage(lastIndex);
doc.SaveAs("edited.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
Library.Release();//Foxit PDF SDK— insert / remove pages
using foxit.common;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage inserted = doc.InsertPage(1, 612f, 792f);
int lastIndex = doc.GetPageCount() - 1;
doc.RemovePage(lastIndex);
doc.SaveAs("edited.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
Library.Release();Imports foxit.common
Imports foxit.pdf
Library.Initialize(sn, key)
Using doc As New PDFDoc("input.pdf")
doc.Load(Nothing)
Dim inserted As PDFPage = doc.InsertPage(1, 612.0F, 792.0F)
Dim lastIndex As Integer = doc.GetPageCount() - 1
doc.RemovePage(lastIndex)
doc.SaveAs("edited.pdf", CInt(PDFDoc.SaveFlags.e_SaveFlagNormal))
End Using
Library.Release()// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/merge-or-split-pdfs/
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// PdfDocument.Merge accepts an array or params list of PdfDocument objects.
// Order is preserved, and metadata, bookmarks, and annotations are retained.
string[] inputs = { "invoice.pdf", "terms.pdf", "appendix.pdf" };
List<PdfDocument> parts = new List<PdfDocument>();
foreach (string path in inputs)
parts.Add(PdfDocument.FromFile(path));
PdfDocument merged = PdfDocument.Merge(parts.ToArray());
merged.SaveAs("contract-package.pdf");
}
}// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/merge-or-split-pdfs/
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// PdfDocument.Merge accepts an array or params list of PdfDocument objects.
// Order is preserved, and metadata, bookmarks, and annotations are retained.
string[] inputs = { "invoice.pdf", "terms.pdf", "appendix.pdf" };
List<PdfDocument> parts = new List<PdfDocument>();
foreach (string path in inputs)
parts.Add(PdfDocument.FromFile(path));
PdfDocument merged = PdfDocument.Merge(parts.ToArray());
merged.SaveAs("contract-package.pdf");
}
}Imports IronPdf
Imports System.Collections.Generic
Module Program
Sub Main()
' PdfDocument.Merge accepts an array or params list of PdfDocument objects.
' Order is preserved, and metadata, bookmarks, and annotations are retained.
Dim inputs As String() = {"invoice.pdf", "terms.pdf", "appendix.pdf"}
Dim parts As New List(Of PdfDocument)()
For Each path As String In inputs
parts.Add(PdfDocument.FromFile(path))
Next
Dim merged As PdfDocument = PdfDocument.Merge(parts.ToArray())
merged.SaveAs("contract-package.pdf")
End Sub
End ModuleIronPDFは、統一されたPdfDocumentオブジェクトモデルを通じて、ページレベルの同等操作を提供します: SaveAs(...)。 編集はPDFオブジェクトモデルに直接作用します; HTML のラウンドトリップは、HTML から PDF を作成する場合にのみ発生し、編集中には発生しません。 対照的に、構造は異なります:Foxit の各操作 API はネイティブエンジンプラミングを公開します(明示的な初期化/リリース、セーブフラグの列挙)。 IronPDFは、usingを通じた暗黙的なライフサイクル管理によって、1つの管理対象オブジェクトモデル下で生成および編集を統合しています。
OfficeからPDFへの変換
サーバーに Microsoft Office をインストールせずに、Word、Excel、PowerPoint ドキュメントを PDF に変換することは、サーバーサイドの一般的な要件です。 Foxit はこれを個別にライセンスされた変換アドオンを通じて処理します。
//Foxit PDF SDK— Conversion add-on (Word → PDF)
using foxit.common;
using foxit.addon.conversion;
Library.Initialize(sn, key);
using var settings = new Word2PDFSettingData();
Convert.FromWord("input.docx", string.Empty, "output.pdf", settings);
Library.Release();//Foxit PDF SDK— Conversion add-on (Word → PDF)
using foxit.common;
using foxit.addon.conversion;
Library.Initialize(sn, key);
using var settings = new Word2PDFSettingData();
Convert.FromWord("input.docx", string.Empty, "output.pdf", settings);
Library.Release();Imports foxit.common
Imports foxit.addon.conversion
Library.Initialize(sn, key)
Using settings As New Word2PDFSettingData()
Convert.FromWord("input.docx", String.Empty, "output.pdf", settings)
End Using
Library.Release()Iron Suite には専用の DOCX から PDF への変換 API は含まれていません; 同じ結果は、IronWord(任意の DOCX 操作用)と IronPDF(PDF 生成用)を組み合わせること、または、IronPDF の HTML から PDF へのパスを介してソースコンテンツを直接供給することによって得られます。 オフィスソースドキュメントの変換を主要なワークフローとする場合には、Foxit の変換アドオンが販売されていますが、Iron Suite では、IronWord と IronPDF を組み合わせること(または IronPDF の HTML から PDF へのパスを介してソースコンテンツを供給すること)で、座席料金とは別にアドオンライセンスを追加することなく、同様の結果を得ることができます。
OCR
スキャンした PDF およびラスタ画像から機械読み取り可能なテキストを抽出することは、純粋な生成を超える PDF SDK を選ぶ最も一般的な理由の一つです。
//Foxit PDF SDK— OCR add-on
using foxit.common;
using foxit.addon.ocr;
Library.Initialize(sn, key);
if (OCREngine.Initialize("./ocr_resource") != ErrorCode.e_ErrSuccess) return;
OCREngine.SetLanguages("English");
// Configure OCRCallback to consume recognized content...
OCREngine.Release();
Library.Release();//Foxit PDF SDK— OCR add-on
using foxit.common;
using foxit.addon.ocr;
Library.Initialize(sn, key);
if (OCREngine.Initialize("./ocr_resource") != ErrorCode.e_ErrSuccess) return;
OCREngine.SetLanguages("English");
// Configure OCRCallback to consume recognized content...
OCREngine.Release();
Library.Release();Imports foxit.common
Imports foxit.addon.ocr
Library.Initialize(sn, key)
If OCREngine.Initialize("./ocr_resource") <> ErrorCode.e_ErrSuccess Then Return
OCREngine.SetLanguages("English")
' Configure OCRCallback to consume recognized content...
OCREngine.Release()
Library.Release()//Iron Suite— IronOCR
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-document.png");
input.Deskew();
input.DeNoise();
var result = ocr.Read(input);
Console.WriteLine($"Confidence: {result.Confidence}");
Console.WriteLine($"Extracted text: {result.Text}");//Iron Suite— IronOCR
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-document.png");
input.Deskew();
input.DeNoise();
var result = ocr.Read(input);
Console.WriteLine($"Confidence: {result.Confidence}");
Console.WriteLine($"Extracted text: {result.Text}");Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput("scanned-document.png")
input.Deskew()
input.DeNoise()
Dim result = ocr.Read(input)
Console.WriteLine($"Confidence: {result.Confidence}")
Console.WriteLine($"Extracted text: {result.Text}")
End UsingFoxit の OCR エンジンは明示的なライフサイクル(初期化 → SetLanguages → コールバックベースの消費 → リリース)を持ち、個別に配布されるリソースファイルと OCR モジュールのライセンスキーで有効化されます。 IronOCR の API は、組み込みの前処理ヘルパー(Deskew、DeNoise)と単一の Read コールで結果を直接届けます。 このトレードオフは、エンジン対スイートの広範なフレーミングを反映しています:Foxit は OCR パイプラインに対するより多くの制御を提供します;IronOCR はより速く作業結果を得ることができます。
抹消
プロダクショングレードの修正は、PDF からセンシティブなコンテンツを覆うのではなく永久に削除するもので、Foxit がエンタープライズ向けに訴求している作業ロードの一つです。 それは、法務、ヘルスケア、政府のワークフローで使用され、修正された出力が法医学的な回復の試みに耐える必要があります。
//Foxit PDF SDK— Redaction add-on
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
using foxit.addon;
using foxit.pdf.annots;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
Redaction redaction = new Redaction(doc);
RectFArray rects = new RectFArray();
rects.Add(new RectF(100, 100, 300, 130));
Redact redact = redaction.MarkRedactAnnot(page, rects);
if (redaction.Apply())
{
doc.SaveAs("redacted.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
}
Library.Release();//Foxit PDF SDK— Redaction add-on
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
using foxit.addon;
using foxit.pdf.annots;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
Redaction redaction = new Redaction(doc);
RectFArray rects = new RectFArray();
rects.Add(new RectF(100, 100, 300, 130));
Redact redact = redaction.MarkRedactAnnot(page, rects);
if (redaction.Apply())
{
doc.SaveAs("redacted.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
}
Library.Release();Imports foxit.common
Imports foxit.common.fxcrt
Imports foxit.pdf
Imports foxit.addon
Imports foxit.pdf.annots
Library.Initialize(sn, key)
Using doc As New PDFDoc("input.pdf")
doc.Load(Nothing)
Dim page As PDFPage = doc.GetPage(0)
page.StartParse(CInt(PDFPage.ParseFlags.e_ParsePageNormal), Nothing, False)
Dim redaction As New Redaction(doc)
Dim rects As New RectFArray()
rects.Add(New RectF(100, 100, 300, 130))
Dim redact As Redact = redaction.MarkRedactAnnot(page, rects)
If redaction.Apply() Then
doc.SaveAs("redacted.pdf", CInt(PDFDoc.SaveFlags.e_SaveFlagNormal))
End If
End Using
Library.Release()// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/redact-text/
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("employee-record.pdf");
// RedactTextOnAllPages performs true redaction:
// the text is removed from the PDF structure, not just covered visually.
pdf.RedactTextOnAllPages("Jane Doe");
pdf.RedactTextOnAllPages("123-45-6789");
pdf.RedactTextOnAllPages("EMP-44213");
pdf.SaveAs("employee-record-redacted.pdf");
}
}// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/redact-text/
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("employee-record.pdf");
// RedactTextOnAllPages performs true redaction:
// the text is removed from the PDF structure, not just covered visually.
pdf.RedactTextOnAllPages("Jane Doe");
pdf.RedactTextOnAllPages("123-45-6789");
pdf.RedactTextOnAllPages("EMP-44213");
pdf.SaveAs("employee-record-redacted.pdf");
}
}Imports IronPdf
Class Program
Shared Sub Main()
Dim pdf As PdfDocument = PdfDocument.FromFile("employee-record.pdf")
' RedactTextOnAllPages performs true redaction:
' the text is removed from the PDF structure, not just covered visually.
pdf.RedactTextOnAllPages("Jane Doe")
pdf.RedactTextOnAllPages("123-45-6789")
pdf.RedactTextOnAllPages("EMP-44213")
pdf.SaveAs("employee-record-redacted.pdf")
End Sub
End ClassIronPDFは、正規表現パターンのバリエーションとページ固有のオーバーロードを伴うRedactTextOnAllPagesを通じて、テキストレベルの編集をサポートし、視覚的に覆うだけでなく、マッチしたコンテンツをPDFストリームから削除します。 FoxitのRedaction.MarkRedactAnnotは、エッジベースの編集機能を備えています: redaction.Apply()とともに適用され、編集対象が既知の視覚領域(署名ブロック、ヘッダーバー、編集済み画像など)であるワークフローに適合します。 文字列ベースおよびエリアベースのエディットを組み合わせた法的発見および規制準拠のワークフローでは、FoxitのRedactTextOnAllPagesがより直接的な経路です。
単一のベンダーでのPDF + OCR + バーコードワークフローのためにIron Suiteを選ぶ理由
.NET のドキュメントワークロードが PDF 生成、OCR、バーコードの読み取り、オフィスフォーマットの操作を含む場合、Iron Suite を選んでください。 Foxit の PDF における深さは実際的です; バーコードの読み取りおよび書き込み、PowerPoint の生成は Foxit のカタログの外にあります。また、各アドオン(変換、OCR、修正、比較)はそれぞれが独自のライセンスアクティベーションを持っています。
この購入者プロファイルのためのIron Suiteの構造上のエッジ:
- 単一バンドル購入:10 の製品が1つのライセンスに含まれています; OCR やバーコードのためのモジュラアドオンアクティベーションはなく、個別の SKU もありません
- ネイティブバーコード、QR、および PPT:含まれています; Foxit はバーコードまたは PowerPoint モジュールを出荷していません
- セルフサービス調達:米ドル価格を公開し、永続ライセンス; Foxitは各開発者に見積もりを要求します
- ロイヤリティーフリーベースライセンス:デプロイ先ごとのランタイムロイヤルティーはありません; SaaS/OEM に対する再配布アドオンが別途予測可能なライン項目として提供されます
- コード優先 DOCX/XLSX/PPTX:IronWord、IronXL、IronPPT はオフィスフォーマットを直接処理し、Office to PDF のコンバージョンレイヤーを必要としません
Iron SuiteはFoxit PDF SDKとどのように異なるか
- PDF コアに加え、個別にライセンスされた変換、OCR、修正、比較のアドオン:それがFoxit PDF SDKの路線であり、バーコード、QR、印刷、スクレイピングは完全にカタログの外にあります。Iron Suiteは 1 つのライセンスで PDF、Office、認識、印刷、ZIP、およびスクレイピングをカバーする10プロダクトスイートです。
- 価格の透明性。Iron Suiteはウェブサイト上で米ドルの層を公開しています;Foxit の開発者 SDK は見積もりのみで、公開された価格表はありません。
- ライセンシングモデル。Iron Suiteは永続的です; Foxit は開発者ごとの座席プラスデプロイごとのロイヤルティ、さらに各アドオンは別個にライセンスされています。
- APIサーフェス。 Iron Suiteは、慣用的な.NET (
new ChromePdfRenderer().RenderHtmlAsPdf(...))を使用しています; Foxit for .NETバインディングはネイティブな配管を表面化します(StartParse、手動行列とビットマップ割り当て、明示的なリリース)。 - Foxitのエンタープライズ向け提案、その内容。 生のPDF仕様の隅(PDF/Aの線形化、埋め込みフォント、先進的なAcroForm/XFA)とエリアベースの編集(
Redaction.MarkRedactAnnot)は、Foxitの提案が基づく作業負荷であり、ファーストパーティのオフィス変換アドオンと長期のISVトラックレコードを備えています。 IronPDFは、PdfAVersions列挙型を通じてPDF/A準拠ファミリー全体(A-1a, A-1b, A-2a, A-2b, A-3a, A-3b, さらにPDF/A-4/4E/4F ISO 19005-4:2020に準拠)をサポートし、基本バンドル内で正規表現をサポートしたテキストレベルの編集(RenderHtmlAsPdfUA(html)はタグ付きアクセシブルPDFを1回の呼び出しで生成し(デフォルトのPDF/UA-1、PDF/UA-2もサポート)、Section 508およびWCAG 2.0 AAに即したものです。 - クロスプラットフォームスタックの形状。 Foxit は、デスクトップ、モバイル(iOS/Android/MAUI)、Web 向けに異なるベンダーから分かれた SDK ファミリを提供しています;Iron Suiteは .NET サーバー、デスクトップ、およびクラウドに焦点を当てています(異なる配布形状)。
結論
Foxit とIron Suiteは異なる質問に答えています。 Foxit は、見積もり駆動の、モジュラなネイティブ PDF エンジンを長年の ISV/OEM レコードとともに探している調達によって答えられ、さらに OCR、変換、エリアベースの修正のアドオンを加えています。 一方、Iron Suite は、一貫した米ドル価格で PDF(上記の標準階層機能を含む)、Office、認識、および関連するユーティリティをカバーする単一の永続バンドルを探している調達に答え、ベースライセンスの下でのロイヤリティフリーの展開を提供します。 .NETチームでPDF、バーコード、Office、OCRのドキュメントワークロードにまたがる場合、Iron Suiteバンドルは$2,998から始まり、ironsoftware.com/csharp/suiteで入手できます。
