Buscar y reemplazar texto en archivos PDF programáticamente con C#. Edición directa de flujos de contenido — sin conversión a DOCX, sin dependencias externas, sin pérdida de datos.
dotnet add package Exis.PdfEditor
La mayoría de las bibliotecas PDF .NET — IronPDF, Spire.PDF, Aspose, Syncfusion — reemplazan texto convirtiendo el PDF a un formato intermedio, redactando texto y dibujando nuevo texto encima, o reconstruyendo páginas desde cero.
Este enfoque daña:
Exis.PdfEditor analiza los flujos de contenido PDF directamente a nivel de bytes. Localiza texto en los operadores PDF reales, modifica solo los operandos de cadena seleccionados y escribe usando actualización incremental de PDF.
Todo lo que no se toca permanece idéntico byte por byte:
using Exis.PdfEditor;
using Exis.PdfEditor.Licensing;
ExisLicense.Initialize(); // Free 14-day trial — no key needed
var result = PdfFindReplace.Execute(
"contract.pdf",
"contract-updated.pdf",
"Acme Corporation",
"Globex Industries");
Console.WriteLine($"Replaced {result.TotalReplacements} occurrences " +
$"across {result.PagesModified} pages.");
var pairs = new[]
{
new FindReplacePair("2025", "2026"),
new FindReplacePair("Draft", "Final"),
new FindReplacePair("CONFIDENTIAL", "PUBLIC"),
};
var result = PdfFindReplace.Execute(
"report.pdf",
"report-final.pdf",
pairs);
var options = new PdfFindReplaceOptions { UseRegex = true };
// Replace all US phone numbers with a placeholder
var result = PdfFindReplace.Execute(
"document.pdf",
"redacted.pdf",
@"\(\d{3}\)\s?\d{3}-\d{4}",
"[PHONE REDACTED]",
options);
// Purchase at officefindreplace.com/Home/pdf-find-replace-csharp — $499/developer/year
ExisLicense.Initialize("XXXX-XXXX-XXXX-XXXX");
// Unlimited pages, no restrictions, no console messages
var result = PdfFindReplace.Execute("large-doc.pdf", "output.pdf", "old", "new");
| Característica | Exis.PdfEditor | IronPDF | Spire.PDF | Aspose.PDF | Syncfusion |
|---|---|---|---|---|---|
| Edición directa de flujos de contenido | ✓ | ✗ Renderizado HTML | ✗ Superposición de redacción | ✗ Reemplazo por fragmento | ✗ Superposición de redacción |
| Preserva campos de formulario | ✓ | ✗ | Parcial | Parcial | ✗ |
| Preserva firmas digitales | ✓ Páginas no modificadas | ✗ | ✗ | ✗ | ✗ |
| Preserva espaciado/kerning del texto | ✓ | ✗ | ✗ | Parcial | ✗ |
| Cero dependencias nativas | ✓ .NET puro | ✗ Motor Chromium | ✓ | ✓ | ✓ |
| Tamaño de DLL | < 500 KB | ~250 MB | ~20 MB | ~40 MB | ~15 MB |
| Reemplazo por lotes multi-par | ✓ Paso único | Bucle manual | Bucle manual | Bucle manual | Bucle manual |
| .NET Framework 4.8 | ✓ | ✓ | ✓ | ✓ | ✗ Solo .NET 6+ |
| Multiplataforma | ✓ | ✓ | ✓ | ✓ | ✓ |
| Soporte de regex | ✓ | ✓ | ✓ | ✓ | ✓ |
| Precio (por desarrollador/año) | $499 | $749 | $999 | $1,175 | $995* |
| Sede central | 🇺🇸 USA | 🇺🇸 USA | 🇨🇳 China | 🇦🇺 Australia | 🇺🇸 USA |
Comparación basada en documentación públicamente disponible de febrero de 2026. El soporte de características puede variar según la versión.
"Edición directa de flujos de contenido" significa que la biblioteca modifica los operadores de texto PDF en su lugar sin convertir, re-renderizar o superponer.
Modifica operadores de flujo de contenido. Sin conversión intermedia.
Sin Ghostscript, sin LibreOffice, sin Chromium. .NET administrado puro.
Formularios, firmas, anotaciones, marcadores — todo preservado.
.NET 8+, .NET Framework 4.8 y .NET Standard 2.0.
Múltiples pares buscar/reemplazar ejecutados en un solo paso.
Soporte completo de regex .NET para reemplazos basados en patrones.
Windows, Linux, macOS. Donde sea que .NET funcione.
DLL única, menos de 500 KB. Sin binarios nativos que desplegar.
Instale el paquete NuGet y llame a ExisLicense.Initialize() — funcionalidad completa durante 14 días. Después del período de prueba, el modo evaluación procesa hasta 3 páginas por documento. Sin marcas de agua. Compre una clave de licencia en officefindreplace.com/Home/pdf-find-replace-csharp.
Precios en dólares estadounidenses. Una clave por desarrollador. Funciona en máquina de desarrollo, servidor de compilación y producción — sin límites por máquina o despliegue.
Su código no cambia entre el modo de prueba y el modo con licencia. Simplemente agregue su clave cuando esté listo.
dotnet add package Exis.PdfEditor
¿Preguntas? Envíe un correo a support@exisone.com — recibirá respuesta de un desarrollador, no de un bot.