O Guia Definitivo para Escolher a Melhor Biblioteca PDF em C#
Aquisição empresarial apenas sob cotação versus preço perpétuo público self-service: Foxit PDF SDK for .NET e Iron Suite estão em lados opostos dessa linha. Foxit vende seu SDK desenvolvedor apenas sob cotação, sem preço publicado em USD, e a estrutura de add-ons modulares significa que OCR, Conversão, Redação e Comparaicionamento são cada um itens de linha licenciados separadamente ativados em cima do núcleo.Iron Suiteé oferecido por um preço perpétuo publicado a partir de $2,998 por desenvolvedor, cobrindo todos os dez produtos Iron sob uma única licença, com implantação livre de royalties para as licenças e um complemento separado de Redistribuição para cenários SaaS ou OEM.
Este artigo começa com o que uma decisão liderada pela aquisição realmente depende: como cada suíte é precificado, o que a licença realmente cobre e quais complementos precisam de negociação separada. Os detalhes desenvolvedor por capacidade seguem para os engenheiros que estão integrando.
Comparação de relance
| Dimensão | SDK de PDF da Foxit | Iron Suite |
|---|---|---|
| Posicionamento de preço | Apenas sob cotação para SDK desenvolvedor; Produto servidor de compressor PDF ~$375/ano para 12.000 páginas | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom). Todos os 10 produtos pelo preço de 2, economize 75% |
| Modelo de licença | Cotação comercial com base por desenvolvedor + royalties por implantação; modular add-on licensing | Perpétuo por desenvolvedor; configuração básica isenta de royalties + Add-On de Redistribuição para SaaS/OEM |
| Componentes no pacote | SDK PDF Core + add-ons de Conversão, OCR, Redação, Comparação; Compressor PDF vendido separadamente | 10 produtos (PDF, Word, Excel, PPT, OCR, Código de Barras, QR, Impressão, ZIP, WebScraper) |
| Cobertura de formato/capacidade | Focado em PDF; Office lida via add-on de Conversão; sem manipulação nativa de Word/Excel/PPT, sem código de barras/QR, sem scraping web | PDF + Word nativo + Excel + PPT + OCR + Código de Barras + QR + Impressão + ZIP + Scraping Web |
| Multi-platforma / nuvem | Windows principal; Linux/macOS via SDK Core; iOS/Android/MAUI/Web como famílias SDK separadas | Windows, Linux, macOS, Docker, Azure, AWS Lambda |
| Suporte a runtime .NET | .NET Framework 4.0, .NET Core 2.1, .NET 6.0; .NET 8+ via edição SDK Core | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| Mercado-alvo | Pilhas PDF Enterprise/ISV necessitando de throughput de motor nativo | Desenvolvedores .NET e ISVs querendo um único pacote independente de documentos + reconhecimento |
| Fornecedor | Foxit Software Inc. | Iron Software |
Foxit PDF SDK é aquisição comercial apenas sob cotação, estruturado como assentos por desenvolvedor além de royalties por implantação além de add-ons licenciados separadamente (Conversão, OCR, Redação, Comparação).Iron SuiteLite é $2,998 por desenvolvedor para o pacote completo de dez produtos, perpétuo e livre de royalties para as licenças. A decisão se inclina sobre se a profundidade de cobertura de especificação PDF do Foxit e o longo histórico de ISV/OEM justificam o caminho de aquisição de cotação e add-on contra um preço fixo publicado cobrindo uma superfície de formato e reconhecimento mais ampla.
Preços e licenciamento
Foxit PDF SDK usa um modelo comercial baseado em cotação. O SDK desenvolvedor não tem níveis de preço publicados em USD; a base de conhecimento próprio do Foxit confirma que as precificações são negociadas através de vendas, com o modelo tipicamente estruturado como uma taxa por assento de desenvolvedor além de uma royalty por implantação ou execução. A estrutura de add-ons modulares significa que OCR, Conversão, Redação e Comparação são cada um itens de linha licenciados separadamente em vez de incluídos no SDK base. O produto servidor adjacente PDF Compressor, vendido separadamente do SDK desenvolvedor, começa em aproximadamente $375/ano para 12.000 páginas de processamento. O preço exato do desenvolvedor por tier é não verificado além de "contatar vendas".
Iron Suite é vendida como uma licença perpétua por desenvolvedor a partir de $2,998, incluindo todos os dez componentes em uma única compra. A posição de marketing, "todos os 10 produtos pelo preço de 2, economize 75%", reflete o desconto do pacote em comparação com a compra dos produtos individuais da Iron separadamente. A licença base é isenta de royalties para os assentos licenciados; SaaS, OEM e cenários de redistribuição distribuída além da licença base são cobertos por um Add-On de Redistribuição separado.
A aquisição do Foxit é estratificada: taxa por assento de desenvolvedor além de royalty por implantação além de ativações de add-on licenciadas separadamente para OCR, Conversão, Redação e Comparação, tudo alcançado através de uma conversa de vendas. A aquisição doIron Suiteé self-service por um preço publicado em USD por tier, perpétuo, com o Add-On de Redistribuição como o único item de preço separado para redistribuição SaaS e OEM além da licença base.
O que é SDK de PDF da Foxit for .NET
Foxit PDF SDK for .NET é o kit de ferramentas de desenvolvedor da Foxit Software para incorporar capacidades PDF em aplicações .NET. O núcleo do SDK é oferecido como Foxit.SDK.Dotnet no NuGet; a versão 11.1.0.1 (abril de 2026) segmenta .NET Framework 4.0, .NET Core 2.1 e .NET 6.0, com .NET 8+ coberto através da edição SDK Core .NET. O produto está posicionado contra a Adobe PDF Library e Apryse (formalmente PDFTron) para cargas de trabalho PDF Enterprise e ISV; ele compete no throughput bruto de motor nativo e na profundidade de cobertura da especificação PDF em vez de na ergonomia do desenvolvedor ou na amplitude do pacote.
O SDK é modular: o núcleo lida com visualização, renderização, edição, anotação, assinatura e formulários, enquanto capacidades especializadas são licenciadas como addons ativados separadamente.
Componentes e add-ons incluídos:
- SDK PDF Core: visualizar, renderizar, editar, anotar, assinar, preencher formulários
- Complemento de conversão: Office (Word, Excel, PowerPoint) ↔ PDF
- Add-on de OCR: reconhecimento de texto de PDFs raster e imagens
- Add-on de Redação: remoção de texto/área em grau de produção
- Add-on de Comparação: comparação estrutural e visual de PDFs
- Compressor de PDF: produto de servidor separado (vendido separadamente do SDK)
O que é Iron Suite
Iron Suite é o pacote de dez produtos .NET daIron Softwarecom IronPDF no centro. Qualquer equipe cujo requisito principal está na geração, assinatura, redação ou rasterização de PDFs começa no IronPDF e herda o restante do pacote sob a mesma licença. Vendida como uma única licença perpétua por desenvolvedor em cinco níveis de preços (Lite, Plus, Professional, Unlimited, Enterprise) a partir de $2,998. Isento de royalties para os assentos licenciados; redistribuição SaaS e OEM cobertas por um Add-On de Redistribuição separado.
Os dez componentes, agrupados por relevância para um fluxo de trabalho liderado por PDF:
- IronPDF (âncora PDF): rendering de HTML para PDF e URL para PDF com Chromiun incluído; fusão e divisão nativa via
PdfDocument.Merge; redação de texto verdadeiro viaRedactTextOnAllPagescom regex; associação PKCS#12, HSM (PKCS#11), timestamp TSA e assinatura multiparte alinhada ao eIDAS e ESIGN; criptografia AES e permissões granulares; PDF/A-1 até PDF/A-4 (4E/4F incluído); PDF/UA-1 e PDF/UA-2; preenchimento e achatamento de AcroForm; gerenciamento completo de fontes (embaixamento personalizado, suporte a coleções de fontes web e TrueType);RasterizeToImageFilespara PNG/JPEG/TIFF com controle de DPI;CompressAndSaveAseSaveAsLinearizedpara Fast Web View; extração de texto. - Office: IronWord (DOCX com grafo de objetos de parágrafo/trecho de texto), IronXL (XLSX com recálculo de fórmulas), IronPPT (criação de PPTX).
- Reconhecimento: IronOCR (Tesseract 5, mais de 125 idiomas, escrita à mão em ~90% de inglês), IronBarcode (30+ simbologias), IronQR (leitura orientada por ML com lote
ReadPdfs). - Utilitário: IronPrint (impressão silenciosa e com diálogo), IronZIP (ZIP/TAR/GZIP/BZIP2 com AES), IronWebScraper (scraping em processo).
Comparação de Capacidade
Renderização de PDF
Rendering PDF (transformar um documento PDF existente em pixels para visualização, miniaturas ou processamento baseado em imagem posteriormente) é uma das capacidades principais da Foxit. O motor nativo da Foxit renderiza páginas multithread diretamente para bitmaps sem uma dependência externa em motor de navegador.
// SDK de PDF da Foxit — 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();
// SDK de PDF da Foxit — 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(&HFFFFFFFFUI, 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 Using
A API da Foxit reflete suas origens em C++ nativo: Library.Initialize / Library.Release explícitos, construção manual de matriz, alocação de bitmap e uma chamada de renderização em várias etapas. O caminho do IronPDF é invertido; gerar o PDF a partir de HTML/CSS através de um motor Chromium incluído e depois operar no documento resultante. A renderização de fidelidade de PDFs existentes em escala é o caso para o qual o mecanismo nativo da Foxit foi projetado — IronPDF adota um mecanismo diferente, produzindo novos PDFs a partir de entradas em estilo web através de um pipeline Chromium integrado. O Chromium integrado do IronPDF é oferecido em um único pacote NuGet (IronPdf.Linux tem aproximadamente 280 MB incluindo o navegador Chrome completo, sem necessidade de instalar o Chromium separadamente e sem download de BrowserFetcher em tempo de execução), o que é operacionalmente mais simples do que lidar com Chromium-no-host ou downloads de tempo de execução do Puppeteer/Playwright em containers Linux e implantações AWS Lambda.
Edição de PDF (Manipulação de Página)
Inserir, remover e reordenar páginas é uma operação rotineira em qualquer fluxo de trabalho de PDF, montando relatórios de múltiplas fontes, removendo páginas de rascunho antes da publicação ou construindo folhas de rosto em um documento existente.
// SDK de PDF da Foxit — 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();
// SDK de PDF da Foxit — 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 Module
IronPDF expõe operações equivalentes ao nível de página através de um modelo de objeto unificado PdfDocument: carregamento via PdfDocument.FromFile(...), montagem via o estático PdfDocument.Merge(...), cópia e remoção de intervalo de páginas, e SaveAs(...). Edições atingem diretamente o modelo de objeto PDF; a conversão total para HTML só ocorre ao criar um PDF a partir de HTML, não durante a manipulação. O contraste é estrutural: a API por operação da Foxit expõe o encanamento do motor nativo (inicialização/lançamento explícitos, enums de salva-tipo); IronPDF unifica geração e edição sob um único modelo de objeto gerenciado com gerenciamento implícito de ciclo de vida via using.
Conversão de Office para PDF
Converter documentos Word, Excel e PowerPoint para PDF sem a instalação do Microsoft Office no servidor é um requisito frequente no lado do servidor. Foxit lida com isso por meio de um complemento de conversão licenciado separadamente.
// SDK de PDF da Foxit — 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();
// SDK de PDF da Foxit — 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 não oferece uma única API dedicada à conversão de DOCX para PDF; o mesmo resultado é alcançado compondo IronWord (para qualquer manipulação de DOCX) com IronPDF (para a geração de PDF), ou alimentando o conteúdo de origem diretamente através do caminho de HTML para PDF do IronPDF. A conversão de documentos de origem do Office como um fluxo de trabalho primário é o caso para o qual o complemento de conversão da Foxit é vendido, enquanto aIron Suitecompõe IronWord mais IronPDF (ou alimenta o conteúdo de origem através do caminho de HTML para PDF do IronPDF) para o mesmo resultado sem uma licença de suplemento separada sobreposta ao custo do assento.
OCR
OCR, extraindo texto legível por máquina de PDFs escaneados e imagens raster, é uma das razões mais comuns pelas quais as equipes buscam um SDK de PDF além da simples geração.
// SDK de PDF da Foxit — 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();
// SDK de PDF da Foxit — 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 Using
O motor de OCR da Foxit usa um ciclo de vida explícito (Initialize → SetLanguages → consumo baseado em callback → Release) com arquivos de recursos distribuídos separadamente e uma chave de licença ativada para o módulo OCR. A API do IronOCR entrega o resultado diretamente com auxiliares de pré-processamento embutidos (Deskew, DeNoise) e uma única chamada de leitura (Read). O compromisso espelha o enquadramento mais amplo motor-vs-suite: a Foxit oferece mais controle sobre o pipeline de OCR; o IronOCR é mais rápido para alcançar um resultado funcional.
Redação
Redação em nível de produção, removendo permanentemente conteúdo sensível dos PDFs em vez de sobrepor caixas pretas que podem ser extraídas, é uma das cargas de trabalho nas quais a Foxit baseia sua proposta para empresas. É usado em fluxos de trabalho jurídicos, de saúde e governamentais, onde a saída com redação deve suportar tentativas de recuperação forense.
// SDK de PDF da Foxit — 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();
// SDK de PDF da Foxit — 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 Class
O IronPDF suporta redação ao nível de texto via RedactTextOnAllPages (com variantes de padrões regex e sobrecargas específicas de página), removendo o conteúdo correspondente do fluxo do PDF em vez de apenas ocultá-lo visualmente. A Redaction.MarkRedactAnnot da Foxit mantém uma vantagem de redação baseada em área: uma região RectF em uma página é marcada e aplicada com redaction.Apply(), o que se encaixa em fluxos de trabalho onde o alvo da redação é uma região visual conhecida (blocos de assinatura, barras de cabeçalho, imagens redigidas) em vez de uma string conhecida. Para descobertas legais e fluxos de trabalho de conformidade regulamentada que combinam redação baseada em string e baseada em área no mesmo mecanismo, a Redaction.MarkRedactAnnot da Foxit é a API posicionada para esse caso de uso — para redação baseada em string de PII, identificadores e números de conta, a RedactTextOnAllPages do IronPDF é o caminho mais direto.
Por que escolherIron Suitepara fluxos de trabalho PDF + OCR + Barcode de único fornecedor
Escolha oIron Suitequando seu trabalho de documentos .NET abrange geração de PDF, OCR, leitura de códigos de barras e manipulação de formatos Office sob um único relacionamento com publicação de preços self-service. A profundidade da Foxit em PDF é real; a leitura e escrita de código de barras e geração de PowerPoint estão fora do catálogo da Foxit, e cada complemento (Conversão, OCR, Redação, Comparação) possui sua própria ativação de licença.
As vantagens estruturais daIron Suitepara esse perfil de comprador:
- Aquisição em pacote único: dez produtos sob uma licença; sem ativação de suplemento modular, sem SKUs separados para OCR ou código de barras
- Código de barras nativo, QR e PPT: incluídos; A Foxit não oferece um módulo de código de barras ou PowerPoint
- Aquisição self-service: preços publicados em USD, licenças perpétuas; A Foxit exige uma cotação para cada desenvolvedor
- Licença base isenta de royalties: sem royalty em tempo de execução por implantação; Complemento de Redistribuição disponível para SaaS/OEM como um item de linha separado e previsível
- DOCX/XLSX/PPTX com código-first: IronWord, IronXL, IronPPT lidam com formatos Office diretamente sem a necessidade de uma camada de conversão Office-to-PDF
Como oIron Suiteé Diferente do Foxit PDF SDK
- Núcleo de PDF, além de complementos de Conversão, OCR, Redação e Comparação licenciados separadamente: essa é a via do Foxit PDF SDK, com código de barras, QR, impressão e scraping totalmente fora do catálogo.Iron Suiteé uma suite de 10 produtos abrangendo PDF, Office, reconhecimento, impressão, ZIP e scraping sob uma única licença.
- Transparência de preços.Iron Suitepublica camadas de preços em USD no site; o SDK para desenvolvedores da Foxit é baseado em cotações, sem um cartão de preços público.
- Modelo de licenciamento.Iron Suiteé perpétuo; Foxit é por assento de desenvolvedor, além de royalties por implantação, com cada suplemento licenciado separadamente.
- Superfície de API.Iron Suiteusa .NET idiomático (
new ChromePdfRenderer().RenderHtmlAsPdf(...)); A ligação .NET da Foxit expõe a infraestrutura nativa (Library.Initialize,StartParse, alocação manual de matriz e bitmap, liberação explícita). - Apresentação da Foxit para empresas, o que ela oferece. Cantos da especificação PDF em estado bruto (linearização PDF/A, fontes incorporadas, AcroForm/XFA avançado) e redação baseada em área (
Redaction.MarkRedactAnnot) são as cargas de trabalho nas quais a apresentação da Foxit está ancorada, juntamente com um complemento de conversão do Office de primeira linha e um longo histórico como fornecedor independente de software. O IronPDF suporta toda a família de conformidade PDF/A (A-1a, A-1b, A-2a, A-2b, A-3a, A-3b, além da família PDF/A-4/4E/4F conforme ISO 19005-4:2020) via o enumPdfAVersions, oferece redação ao nível de texto (RedactTextOnAllPagescom suporte a regex) no pacote básico, e oferece gerenciamento completo de fontes (Fonts.Add().Embed(), suporte a web-font viaWaitFor.AllFontsLoaded(), suporte a TrueType Collection), portanto, nem PDF/A, nem redação baseada em string, nem manipulação de fontes são exclusividade da Foxit. IronPDF também oferece suporte dedicado à acessibilidade PDF/UA,RenderHtmlAsPdfUA(html)produzindo um PDF acessível com tag em uma única chamada (padrão PDF/UA-1, PDF/UA-2 também suportado), documentado para atender à Seção 508 e WCAG 2.0 AA prontamente. - Formato de stack multiplataforma. A Foxit oferece famílias de SDK separadas para desktop, mobile (iOS/Android/MAUI) e Web de um único fornecedor;Iron Suitefoca em servidores .NET, desktop e nuvem (um formato de distribuição diferente).
Conclusão
Foxit eIron Suiterespondem a perguntas diferentes. Foxit responde a uma aquisição que deseja um motor PDF nativo modular orientado por cotações com um longo histórico ISV/OEM, além de complementos para OCR, conversão e redação baseada em área.Iron Suiteresponde a uma aquisição que deseja um único pacote perpétuo abrangendo PDF (com as capacidades do nível de padrões acima mencionadas), Office, reconhecimento e utilitários adjacentes a um preço publicado em USD, implantação isenta de royalties sob a licença base. Para equipes .NET cuja carga de trabalho de documentos abrange PDF, código de barras, Office e OCR, o pacoteIron Suitecomeça em $2,998 e está disponível em ironsoftware.com/csharp/suite.