COMPARAISON

Le guide ultime pour choisir la meilleure bibliothèque C# PDF

Procurement uniquement sur devis pour grandes entreprises vs prix public auto-servis perpétuels : Foxit PDF SDK for .NET et Iron Suite se situent aux extrémités opposées de cette ligne. Foxit vend son SDK développeur uniquement sur devis, sans prix USD publiés, et la structure modulaire d'add-ons signifie que OCR, Conversion, Redaction, et Compare sont chacun des éléments de ligne sous licence séparée activés en plus du cœur.Iron Suiteest livré à un prix perpétuel publié à partir de $2,998 par développeur, couvrant les dix produits Iron sous une seule licence, avec un déploiement libre de droits pour les postes sous licence et un module complémentaire de redistribution distinct pour les scénarios SaaS ou OEM.

Cet article commence par ce sur quoi une décision dirigée par la procurement repose réellement : comment chaque suite est-elle tarifée, ce qu'elle couvre réellement, et quels add-ons nécessitent une négociation séparée. Les détails par capacité suivent pour les ingénieurs l'intégrant.

Comparaison en un coup d'œil

Dimension Foxit PDF SDK Iron Suite
Positionnement tarifaire Uniquement sur devis pour le SDK développeur ; Produit serveur PDF Compressor ~375 $/an pour 12 000 pages Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom). Les 10 produits pour le prix de 2, économisez 75 %
Modèle de licence Devis commercial par développeur + royaltie par déploiement ; modular add-on licensing Perpétuel par développeur; base libre de redevances + Add-On de Redistribution pour SaaS/OEM
Composants dans le bundle SDK PDF de base + add-ons Conversion, OCR, Redaction, Compare ; PDF Compressor vendu séparément 10 products (PDF, Word, Excel, PPT, OCR, Barcode, QR, Print, ZIP, WebScraper)
Couverture format/capacité Centré sur PDF ; Gestion Office via add-on Conversion ; pas de manipulation native Word/Excel/PPT, pas de code-barres/QR, pas de scraping web PDF + Word natif + Excel + PPT + OCR + Barcode + QR + Imprimé + ZIP + Scraping web
Multi-plateforme / cloud Windows principal ; Linux/macOS via SDK de base ; iOS/Android/MAUI/Web comme familles SDK séparées Windows, Linux, macOS, Docker, Azure, AWS Lambda
Support d'exécution .NET .NET Framework 4.0, .NET Core 2.1, .NET 6.0; .NET 8+ via édition SDK de base .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
Marché cible Stacks PDF Enterprise/ISV nécessitant un débit moteur natif Développeurs .NET et ISVs voulant un ensemble de documents autonome + reconnaissance
Fournisseur Foxit Software Inc. Iron Software

Foxit PDF SDK est un procurement commercial uniquement sur devis, structuré comme sièges par développeur plus royaltie par déploiement plus add-ons sous licence séparée (Conversion, OCR, Redaction, Compare).Iron SuiteLite est à $2,998 par développeur pour le bundle complet de dix produits, perpétuel et libre de droits pour les postes sous licence. La décision repose sur si la profondeur de couverture du spec PDF de Foxit et sa longue expérience ISV/OEM justifient le chemin d'achat sur devis et add-ons par rapport à un prix publié fixe couvrant une surface de format et de reconnaissance plus large.

Tarification et licences

Foxit PDF SDK utilise un modèle commercial basé sur devis. Le SDK développeur n'a pas de niveaux de prix USD publiés ; La base de connaissances interne de Foxit confirme que les tarifs sont négociés via les ventes, le modèle étant généralement structuré comme une redevance par siège développeur plus une redevance par déploiement ou à l'exécution. La structure modulaire d'add-ons signifie que OCR, Conversion, Redaction, et Compare sont chacun sous licence séparée d'éléments de ligne plutôt qu'inclus dans le SDK de base. Le produit serveur adjacent PDF Compressor, vendu séparément du SDK développeur, commence à environ 375 $/an pour 12 000 pages de traitement. Le tarif exact de niveau développeur n'est pas vérifié en dehors de " contactez les ventes ".

Iron Suite est vendu comme une licence perpétuelle par développeur à partir de $2,998, emballant les dix composants sous un seul achat. La position marketing, " tous les 10 produits pour le prix de 2, économisez 75% ", reflète la réduction du bundle par rapport à l'achat des produits individuels d'Iron séparément. La licence de base est libre de droits pour les sièges sous licence ; Les scénarios de SaaS, OEM, et redistribution distribuée au-delà de la licence de base sont couverts par un Add-On de Redistribution séparé.

Le procurement de Foxit est stratifié : frais par siège développeur plus royaltie par déploiement plus activations d'add-ons sous licence séparée pour OCR, Conversion, Redaction, et Compare, tous atteints via une conversation de vente. Le procurement d'Iron Suite est auto-service à un prix USD publié par niveau, perpétuel, avec l'Add-On de Redistribution comme le seul élément tarifé séparément pour la redistribution SaaS et OEM au-delà de la licence de base.

Qu'est-ce que Foxit PDF SDKfor .NET

Foxit PDF SDK for .NET est la boîte à outils développeur de Foxit Software pour intégrer des capacités PDF dans les applications .NET. Le SDK principal est livré sous forme de Foxit.SDK.Dotnet sur NuGet; la version 11.1.0.1 (avril 2026) cible .NET Framework 4.0, .NET Core 2.1, et .NET 6.0, avec .NET 8+ couvert par l'édition .NET Core SDK. Le produit se positionne contre Adobe PDF Library et Apryse (anciennement PDFTron) pour les charges de travail PDF Enterprise et ISV ; il rivalise sur le débit brut du moteur natif et la profondeur de couverture de spécification PDF plutôt que sur l'ergonomie développeur ou la largeur du bundle.

Le SDK est modulaire : le cœur gère l'affichage, le rendu, l'édition, l'annotation, la signature et les formulaires, tandis que des capacités spécialisées sont sous licence comme des add-ons activés séparément.

Composants groupés et add-ons :

  • SDK PDF de base : voir, rendre, éditer, annoter, signer, remplir des formulaires
  • Module complémentaire de conversion : Office (Word, Excel, PowerPoint) ↔ PDF
  • Addon OCR : reconnaissance de texte à partir de PDF matriciels et d'images
  • Addon Redaction : suppression de texte/zone de qualité production
  • Addon de Comparaison : comparaison PDF structurelle et visuelle
  • Compresseur PDF : produit serveur séparé (vendu séparément du SDK)

Qu'est-ce qu'Iron Suite

Iron Suite est le bundle .NET de dix produits d'Iron Software avec IronPDF au centre. Toute équipe dont la principale exigence repose sur la génération de PDF, la signature, la redaction ou la rasterisation commence par IronPDF et hérite du reste du bundle sous la même licence. Vendu comme une licence perpétuelle unique par développeur à cinq niveaux (Lite, Plus, Professional, Unlimited, Enterprise) à partir de $2,998. Libéré de redevances pour les sièges sous licence ; La redistribution SaaS et OEM couverte par un Add-On de Redistribution séparé.

Les dix composants, regroupés par pertinence pour un flux de travail mené par PDF :

  • IronPDF (ancrage PDF) : rendu HTML-vers-PDF et URL-vers-PDF avec Chromium groupé ; fusion native et séparation via PdfDocument.Merge; rédaction de texte véritable via RedactTextOnAllPages avec regex; signature multipartite alignée sur PKCS#12, HSM (PKCS#11), horodatage TSA, et eIDAS et ESIGN ; cryptage AES et permissions granulaires ; PDF/A-1 jusqu'à PDF/A-4 (4E/4F inclus) ; PDF/UA-1 et PDF/UA-2 ; remplissage et aplatissement des formulaires AcroForm ; gestion complète des polices (intégration personnalisée, prise en charge des polices web et Collection TrueType) ; RasterizeToImageFiles vers PNG/JPEG/TIFF avec contrôle DPI; CompressAndSaveAs et SaveAsLinearized pour la Vue Web Rapide; extraction de texte.
  • Office : IronWord (DOCX avec objet graphe de paragraphe/texte-cours), IronXL (XLSX avec recalcul de formule), IronPPT (création de PPTX).
  • Reconnaissance : IronOCR (Tesseract 5, 125+ langues, écriture manuscrite à ~90% en anglais), IronBarcode (30+ symbologies), IronQR (lecture boostée par ML avec batch ReadPdfs).
  • Utilitaire : IronPrint (impression silencieuse et par dialogue), IronZIP (ZIP/TAR/GZIP/BZIP2 avec AES), IronWebScraper (scraping dans le processus).

Comparaison de capacités

Rendu PDF

Le rendu PDF (transformer un document PDF existant en pixels pour l'afficher, réaliser une vignette, ou traiter en aval à base d'images) est l'une des capacités phares de Foxit. Le moteur natif de Foxit rend les pages en multithread directement vers des bitmaps sans dépendance externe sur un moteur de navigateur.

// 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(CType(PDFPage.ParseFlags.e_ParsePageNormal, Integer), 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()
$vbLabelText   $csharpLabel
//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 Using
$vbLabelText   $csharpLabel

L'interface API de Foxit reflète ses origines C++ natives : Library.Initialize / Library.Release explicites, construction manuelle de matrices, allocation de bitmap, et un appel de rendu en plusieurs étapes. Le chemin d'IronPDF est inversé ; générer le PDF à partir de HTML/CSS via un moteur Chromium intégré, puis opérer sur le document résultant. La fidélité de rendu des PDF existants à grande échelle est le cas pour lequel le moteur natif de Foxit est conçu - IronPDF opte pour un mécanisme différent, produisant de nouveaux PDF à partir d'entrées de style web via un pipeline Chromium intégré. Le Chromium intégré d'IronPDF est livré dans un seul package NuGet (IronPdf.Linux fait environ 280 Mo incluant le navigateur complet Chrome, sans pipeline d'installation séparé pour Chromium et sans téléchargement BrowserFetcher au moment de l'exécution), ce qui est opérationnellement plus simple que jongler avec le Chromium-sur-hôte ou les téléchargements d'exécution Puppeteer/Playwright dans des conteneurs Linux et les déploiements AWS Lambda.

Édition PDF (Manipulation de Pages)

Insérer, supprimer et réorganiser des pages est une opération courante dans n'importe quel flux de travail PDF, assembler des rapports à partir de plusieurs sources, supprimer des pages de brouillon avant la publication, ou ajouter des pages de couverture à un document existant.

// 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", CType(PDFDoc.SaveFlags.e_SaveFlagNormal, Integer))
End Using
Library.Release()
$vbLabelText   $csharpLabel
// 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 Module
$vbLabelText   $csharpLabel

IronPDF expose des opérations équivalentes au niveau des pages via un modèle d'objet unifié PdfDocument : chargement via PdfDocument.FromFile(...), assemblage via la fonction statique PdfDocument.Merge(...), copie et suppression de plages de pages, et SaveAs(...). Les modifications touchent directement le modèle d'objet PDF ; le voyage aller-retour HTML se produit uniquement lors de la création d'un PDF à partir de HTML, pas pendant la manipulation. Le contraste est structurel : l'API par opération de Foxit expose la plomberie du moteur natif (Initialize/Release explicite, enums de drapeaux de sauvegarde) ; IronPDF unifie la génération et l'édition sous un modèle d'objet unique géré avec gestion implicite du cycle de vie via using.

Conversion Office-vers-PDF

Convertir des documents Word, Excel et PowerPoint en PDF sans installation Microsoft Office sur le serveur est une exigence courante pour le serveur. Foxit gère cela via un addon de Conversion sous licence séparée.

// 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()
$vbLabelText   $csharpLabel

Iron Suite n'expédie pas une seule API de conversion DOCX-vers-PDF dédiée ; le même résultat est obtenu en composant IronWord (pour toute manipulation de DOCX) avec IronPDF (pour la génération de PDF), ou en nourrissant directement le contenu source à travers le parcours HTML-vers-PDF d'IronPDF. La conversion de documents source Office en tant que flux de travail principal est le cas pour lequel l'addon de Conversion de Foxit est vendu, tandis qu'Iron Suite compose IronWord plus IronPDF (ou nourrit le contenu source à travers le chemin HTML-vers-PDF d'IronPDF) pour le même résultat sans une licence d'addon séparée superposée au tarif par siège.

OCR

OCR, extraire du texte lisible par machine à partir de PDFs scannés et d'images matricielles, est l'une des raisons les plus courantes pour lesquelles les équipes recherchent un SDK PDF au-delà de la simple génération.

// 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()
$vbLabelText   $csharpLabel
//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 Using
$vbLabelText   $csharpLabel

Le moteur OCR de Foxit utilise un cycle de vie explicite (Initialize → SetLanguages → consommation basée sur un rappel → Release) avec des fichiers de ressources distribués séparément et une clé de licence activée pour le module OCR. L'API d'IronOCR livre le résultat directement avec des aides de prétraitement intégrées (Deskew, DeNoise) et un unique appel Read. Le compromis reflète le cadre plus large moteur-vs-suite : Foxit donne plus de contrôle sur le pipeline OCR ; IronOCR est plus rapide à atteindre un résultat fonctionnel.

Rédaction

La révision de niveau production, la suppression définitive de contenu sensible à partir de PDF plutôt que de recouvrir de boîtes noires qui peuvent être analysées, est l'une des charges de travail sur laquelle Foxit ancre son argumentaire entreprise. Elle est utilisée dans les flux de travail juridiques, de santé et gouvernementaux où la sortie révisée doit résister aux tentatives de récupération médico-légale.

// 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()
$vbLabelText   $csharpLabel
// 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 Class
$vbLabelText   $csharpLabel

IronPDF prend en charge la rédaction de texte via RedactTextOnAllPages (avec des variantes de motif regex et des surcharges spécifiques aux pages), supprimant le contenu correspondant du flux PDF plutôt que de simplement le couvrir visuellement. L'API Redaction.MarkRedactAnnot de Foxit conserve un avantage de rédaction basé sur les zones : une région RectF sur une page est marquée et appliquée avec redaction.Apply(), ce qui convient aux flux de travail où la cible de rédaction est une région visuelle connue (blocs de signature, barres d'en-tête, images masquées) plutôt qu'une chaîne connue. Pour les flux de travail de découverte légale et de conformité réglementée qui combinent la rédaction de chaînes et de zones dans le même moteur, l'API Redaction.MarkRedactAnnot de Foxit est positionnée pour cet usage - pour la rédaction pilotée par chaîne de PII, identificateurs et numéros de compte, l'API RedactTextOnAllPages d'IronPDF est le chemin le plus direct.

Pourquoi choisirIron Suitepour des workflows PDF + OCR + Barcode avec un seul fournisseur

ChoisissezIron Suitelorsque votre charge de travail de documents .NET couvre la génération de PDF, OCR, la lecture de codes-barres et la manipulation de formats Office sous une seule relation de fournisseur avec des prix publiés en libre-service. La profondeur de Foxit en matière de PDF est réelle ; la lecture et l'écriture de codes-barres et la génération de PowerPoint sont en dehors du catalogue Foxit, et chaque addon (Conversion, OCR, Redaction, Compare) porte sa propre activation de licence.

Les bords structurels d'Iron Suite pour ce profil d'acheteur :

  • Achats groupés uniques : dix produits sous une seul licence ; aucune activation d'add-on modulaire, pas de SKU séparés pour l'OCR ou les codes-barres
  • Barcode, QR et PPT natives : inclus ; Foxit n'expédie pas de module de codes-barres ou de PowerPoint
  • Procurement en libre-service : prix USD publiés, licences perpétuelles ; Foxit exige un devis pour chaque développeur
  • Licence de base libre de droits : pas de royaltie d'exécution par déploiement ; Add-On de Redistribution disponible pour SaaS/OEM en tant qu'élément de ligne séparé et prévisible
  • DOCX/XLSX/PPTX orienté code : IronWord, IronXL, IronPPT gèrent directement les formats Office sans nécessiter une couche de conversion Office-vers-PDF

CommentIron Suiteest-elle différente de Foxit PDF SDK

  • Coeur PDF plus add-ons sous licence séparée de Conversion, OCR, Redaction, et Compare : c'est la voie du Foxit PDF SDK, avec code-barres, QR, impression et scraping en dehors du catalogue entièrement.Iron Suiteest une suite de 10 produits couvrant PDF, Office, reconnaissance, impression, ZIP, et scraping sous une seule licence.
  • Transparence de tarification.Iron Suitepublie des niveaux USD sur le site Web ; le SDK développeur de Foxit est uniquement sur devis sans carte de prix publique.
  • Modèle de licence.Iron Suiteest perpétuelle ; Foxit est par siège développeur plus royaltie par déploiement, avec chaque add-on sous licence séparément.
  • Surface API.Iron Suiteutilise une approche idiomatique de .NET (new ChromePdfRenderer().RenderHtmlAsPdf(...)); Le binding .NET de Foxit expose une plomberie native (Library.Initialize, StartParse, allocation manuelle de matrices et bitmaps, libération explicite).
  • Pitch d'entreprise de Foxit, ce qu'il contient. Les coins bruts des spécifications PDF (linéarisation PDF/A, polices intégrées, AcroForm/XFA avancé) et la rédaction basée sur les zones (Redaction.MarkRedactAnnot) sont les charges de travail sur lesquelles le pitch de Foxit est ancré, aux côtés d'un module complémentaire de conversion Office de première main et d'une longue expérience en tant que partenaire ISV. IronPDF prend en charge l'ensemble de la famille de conformité PDF/A (A-1a, A-1b, A-2a, A-2b, A-3a, A-3b, plus la famille PDF/A-4/4E/4F selon l'ISO 19005-4:2020) via l'enum PdfAVersions, fournit une rédaction au niveau du texte (RedactTextOnAllPages avec support regex) dans le bundle de base, et offre une gestion complète des polices (Fonts.Add().Embed(), support des polices Web via WaitFor.AllFontsLoaded(), support de la Collection TrueType), donc ni PDF/A ni la rédaction basée sur les chaînes ni la gestion des polices ne sont une exclusivité de Foxit. IronPDF fournit également un support d'accessibilité dédié PDF/UA, RenderHtmlAsPdfUA(html) produisant un PDF accessible étiqueté en une seule appel (PDF/UA-1 par défaut, support de PDF/UA-2 également), documenté pour répondre aux normes Section 508 et WCAG 2.0 AA hors de la boîte.
  • Forme de pile multiplateforme. Foxit expédie des familles de SDK séparées à travers le bureau, mobile (iOS/Android/MAUI), et le Web d'un seul fournisseur ;Iron Suitese concentre sur le serveur .NET, le bureau, et le cloud (une forme différente de distribution).

Conclusion

Foxit etIron Suiterépondent à des questions différentes. Foxit répond à un procurement qui veut un moteur PDF natif modulaire basé sur devis avec un long historique ISV/OEM, plus des add-ons pour OCR, conversion, et révision basée sur une zone.Iron Suiterépond à un procurement qui veut un bundle perpétuel unique couvrant PDF (avec les capacités de niveau standard nommées ci-dessus), Office, reconnaissance, et utilitaires adjacents à un prix USD publiés, un déploiement libre de royalties sous la licence de base. Pour les équipes .NET dont la charge de travail documentaire s'étend aux PDF, codes-barres, Office et OCR, le bundleIron Suitecommence à $2,998 et est disponible sur ironsoftware.com/csharp/suite.

Veuillez noterFoxit PDF SDK est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par, ou sponsorisé parFoxit Software Inc.Tous les noms de produits, logos, et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.