Cómo redactar texto y regiones en PDF usando C#

Redacción Permanente de PDFs bajo LOPDGDD: Cumplimiento AEPD con IronPDF y C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF permite a los desarrolladores de C# eliminar permanentemente texto y regiones confidenciales de documentos PDF. En España, la redacción correcta de datos personales es un requisito de cumplimiento bajo la LOPDGDD (Ley Orgánica de Protección de Datos y Garantía de Derechos Digitales): la AEPD (Agencia Española de Protección de Datos) ha sancionado organizaciones donde la "redacción" era un simple recuadro negro visual superpuesto sobre texto accesible, en lugar de una eliminación permanente de la estructura del documento.

La redacción en IronPDF no superpone texto: elimina permanentemente la información confidencial de la estructura interna del PDF, garantizando que no pueda recuperarse mediante extracción de texto, herramientas forenses ni acceso directo al objeto PDF.

Inicio rápido: Redactar datos personales en PDFs bajo LOPDGDD

Elimine datos personales de documentos PDF de forma permanente con los métodos de redacción de IronPDF. Esta guía muestra cómo cargar un PDF, aplicar la redacción y guardar el documento actualizado.

  1. Instala IronPDF con el Administrador de Paquetes NuGet

    PM > Install-Package IronPdf
  2. Copie y ejecute este fragmento de código.

    IronPdf.PdfDocument doc = IronPdf.PdfDocument.FromFile("document.pdf");
    doc.RedactTextOnAllPages("sensitive info");
    doc.SaveAs("redacted_document.pdf");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer


Por qué la redacción superficial viola la LOPDGDD

La AEPD ha publicado resoluciones de sanción contra organizaciones que entregaron PDFs donde los datos personales (DNI, números de cuenta, domicilios) estaban visualmente ocultos con recuadros negros pero recuperables al copiar el texto del documento. Este tipo de "redacción" —una superposición gráfica sin eliminación del contenido subyacente— no cumple con el principio de minimización de datos del RGPD europeo ni con la LOPDGDD.

IronPDF utiliza una redacción real: los métodos RedactTextOnAllPages y RedactRegionsOnAllPages eliminan el contenido de la estructura interna del PDF, no solo lo tapan visualmente. El texto redactado no puede recuperarse mediante ningún método técnico estándar.

¿Cómo redactar texto de PDFs en C#?

La redacción de texto es directa con IronPDF. Use el método RedactTextOnAllPages para eliminar una frase de todo el documento. Usamos un documento PDF de ejemplo.

:path=/static-assets/pdf/content-code-examples/how-to/redact-text-redact-text.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric");

pdf.SaveAs("redacted.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")

' Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric")

pdf.SaveAs("redacted.pdf")
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el PDF redactado?

PDF resultado de redactar la frase Alaric de todas las páginas.

Use los métodos RedactTextOnPage y RedactTextOnPages para redactar texto de una o múltiples páginas, respectivamente.

Parámetros de control de la redacción de texto

  • ReplaceText: cadena de texto a redactar.
  • CaseSensitive: booleano que indica si la búsqueda distingue mayúsculas. Valor predeterminado: falso.
  • OnlyMatchWholeWords: booleano que especifica si solo deben coincidir palabras completas. Valor predeterminado: verdadero.
  • DrawRectangles: booleano que determina si se dibujan rectángulos negros en las áreas redactadas. Valor predeterminado: verdadero.
  • ReplacementText: texto de sustitución. Valor predeterminado: "*".

Ejemplo completo con parámetros personalizados:

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("confidential_report.pdf");

// Redact with custom parameters
pdf.RedactTextOnAllPages("SSN: 123-45-6789", 
    caseSensitive: true, 
    onlyMatchWholeWords: false, 
    drawRectangles: true, 
    replacementText: "[REDACTED]");

// Redact multiple sensitive items
string[] sensitiveTerms = { "salary", "password", "credit card" };
foreach (string term in sensitiveTerms)
{
    pdf.RedactTextOnAllPages(term, caseSensitive: false);
}

pdf.SaveAs("fully_redacted_report.pdf");
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("confidential_report.pdf");

// Redact with custom parameters
pdf.RedactTextOnAllPages("SSN: 123-45-6789", 
    caseSensitive: true, 
    onlyMatchWholeWords: false, 
    drawRectangles: true, 
    replacementText: "[REDACTED]");

// Redact multiple sensitive items
string[] sensitiveTerms = { "salary", "password", "credit card" };
foreach (string term in sensitiveTerms)
{
    pdf.RedactTextOnAllPages(term, caseSensitive: false);
}

pdf.SaveAs("fully_redacted_report.pdf");
Imports IronPdf

Dim pdf As PdfDocument = PdfDocument.FromFile("confidential_report.pdf")

' Redact with custom parameters
pdf.RedactTextOnAllPages("SSN: 123-45-6789", 
                         caseSensitive:=True, 
                         onlyMatchWholeWords:=False, 
                         drawRectangles:=True, 
                         replacementText:="[REDACTED]")

' Redact multiple sensitive items
Dim sensitiveTerms As String() = {"salary", "password", "credit card"}
For Each term As String In sensitiveTerms
    pdf.RedactTextOnAllPages(term, caseSensitive:=False)
Next

pdf.SaveAs("fully_redacted_report.pdf")
$vbLabelText   $csharpLabel

Icon Quote related to Parámetros de control de la redacción de texto

Mi biblioteca favorita de este tipo es IronPDF. Permite una manipulación rápida y eficiente de archivos PDF. También tiene muchas funciones valiosas, como exportar al formato PDF/A y firmar documentos PDF digitalmente.

Milan Jovanovic related to Parámetros de control de la redacción de texto

Milan Jovanovic

Microsoft MVP

Ver estudio de caso
Icon Quote related to Parámetros de control de la redacción de texto

IronOCR significa que podemos ahorrar $40,000 anualmente en el procesamiento manual, mientras mejoramos la productividad y liberamos recursos para tareas de alto impacto. Lo recomendaría encarecidamente.

Brent Matzelle related to Parámetros de control de la redacción de texto

Brent Matzelle

Director de Tecnología, OPYN

Ver estudio de caso
Icon Quote related to Parámetros de control de la redacción de texto

El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.

David Jones related to Parámetros de control de la redacción de texto

David Jones

Ingeniero de Software Principal, Agorus Build

Ver estudio de caso

Redacción de Facturae XML embebido: Caso de uso España

Cuando se genera un PDF/A-3b con XML de Facturae embebido para envío a FACe (portal B2G de la Administración española), puede ser necesario redactar datos personales del receptor antes de compartir el documento con terceros. En este caso, la redacción por región es especialmente útil para eliminar el bloque de datos del receptor sin afectar el XML embebido.

¿Cómo eliminar regiones específicas de un PDF?

Redactar regiones específicas en documentos es altamente efectivo. Invoque el método RedactRegionsOnAllPages con el objeto RectangleF para redactar la región del documento objetivo.

:path=/static-assets/pdf/content-code-examples/how-to/redact-text-redact-region.cs
using IronPdf;
using IronSoftware.Drawing;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

RectangleF rectangle = new RectangleF(5, 700, 50, 50);

// Redact region on coordinates(5,700) with width and height 50 pixels
pdf.RedactRegionsOnAllPages(rectangle);

pdf.SaveAs("redactedRegion.pdf");
Imports IronPdf
Imports IronSoftware.Drawing

Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")

Private rectangle As New RectangleF(5, 700, 50, 50)

' Redact region on coordinates(5,700) with width and height 50 pixels
pdf.RedactRegionsOnAllPages(rectangle)

pdf.SaveAs("redactedRegion.pdf")
$vbLabelText   $csharpLabel

Redacción regional avanzada

Para documentos complejos con múltiples regiones:

using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;

PdfDocument pdf = PdfDocument.FromFile("form_with_signatures.pdf");

// Redact multiple regions
List<RectangleF> regionsToRedact = new List<RectangleF>
{
    new RectangleF(100, 200, 200, 50),  // Signature area
    new RectangleF(100, 300, 200, 100), // Address block
    new RectangleF(350, 150, 150, 150)  // Photo ID area
};

foreach (var region in regionsToRedact)
{
    pdf.RedactRegionsOnAllPages(region);
}

// Redact regions on specific pages only
pdf.RedactRegionOnPage(0, new RectangleF(50, 50, 100, 30)); // Page 1 header
pdf.RedactRegionOnPages(new[] { 2, 3, 4 }, new RectangleF(400, 700, 150, 50)); // Footer on pages 3-5

pdf.SaveAs("form_redacted.pdf");
using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;

PdfDocument pdf = PdfDocument.FromFile("form_with_signatures.pdf");

// Redact multiple regions
List<RectangleF> regionsToRedact = new List<RectangleF>
{
    new RectangleF(100, 200, 200, 50),  // Signature area
    new RectangleF(100, 300, 200, 100), // Address block
    new RectangleF(350, 150, 150, 150)  // Photo ID area
};

foreach (var region in regionsToRedact)
{
    pdf.RedactRegionsOnAllPages(region);
}

// Redact regions on specific pages only
pdf.RedactRegionOnPage(0, new RectangleF(50, 50, 100, 30)); // Page 1 header
pdf.RedactRegionOnPages(new[] { 2, 3, 4 }, new RectangleF(400, 700, 150, 50)); // Footer on pages 3-5

pdf.SaveAs("form_redacted.pdf");
Imports IronPdf
Imports IronSoftware.Drawing
Imports System.Collections.Generic

Dim pdf As PdfDocument = PdfDocument.FromFile("form_with_signatures.pdf")

' Redact multiple regions
Dim regionsToRedact As New List(Of RectangleF) From {
    New RectangleF(100, 200, 200, 50),  ' Signature area
    New RectangleF(100, 300, 200, 100), ' Address block
    New RectangleF(350, 150, 150, 150)  ' Photo ID area
}

For Each region In regionsToRedact
    pdf.RedactRegionsOnAllPages(region)
Next

' Redact regions on specific pages only
pdf.RedactRegionOnPage(0, New RectangleF(50, 50, 100, 30)) ' Page 1 header
pdf.RedactRegionOnPages(New Integer() {2, 3, 4}, New RectangleF(400, 700, 150, 50)) ' Footer on pages 3-5

pdf.SaveAs("form_redacted.pdf")
$vbLabelText   $csharpLabel

¿Qué aspecto tiene la redacción regional?

PDF resultante de redactar una región en las coordenadas (5,700) con un ancho y una altura de 50 píxeles.

¿Cuándo usar redacción regional frente a redacción de texto?

Redacción regional es ideal cuando:

  • Es necesario eliminar imágenes, logotipos o elementos gráficos
  • El contenido sensible incluye notas manuscritas, firmas o el bloque de datos del receptor en un Facturae
  • Se trata de formularios con diseño fijo
  • Se desea redactar secciones enteras independientemente del contenido textual

Redacción de texto es mejor cuando:

  • Se buscan palabras clave o frases específicas (DNI, NIF, IBAN)
  • El contenido a redactar aparece en varios lugares del documento
  • Es necesario distinguir entre mayúsculas y minúsculas o palabras completas
  • La estructura del documento varía de un fichero a otro

Prácticas recomendadas para el cumplimiento LOPDGDD

Al implementar la redacción en sus aplicaciones bajo el marco de la LOPDGDD:

  1. Guardar siempre en un nuevo fichero: nunca sobrescriba el documento original para mantener una pista de auditoría
  2. Verificar la completitud de la redacción: compruebe la salida para asegurarse de que todos los datos personales se han eliminado permanentemente
  3. Redactar también los metadatos: recuerde editar y eliminar metadatos que puedan contener información personal como el nombre del autor o el título del documento
  4. Probar los cálculos de coordenadas: al usar redacción por región, pruebe sus cálculos en diferentes tamaños y orientaciones de página
  5. Documentar el proceso: mantenga registro de qué datos se redactaron, cuándo y por qué, como parte de su Registro de Actividades de Tratamiento exigido por la LOPDGDD

Para otras necesidades de procesamiento de documentos, explore cómo extraer texto e imágenes de los PDF antes de aplicar la redacción.

¿Listo para ver qué más puede hacer? Consulte nuestra página de tutoriales: Editar PDFs

Preguntas Frecuentes

¿Qué es la redacción de texto en PDF y por qué es importante?

La redacción de texto en PDF es el proceso de eliminar u ocultar permanentemente información confidencial de los documentos cubriendo el texto con recuadros negros o eliminándolo por completo. IronPDF ofrece sólidas funciones de redacción que garantizan la eliminación permanente de datos confidenciales de la estructura PDF, lo que ayuda a mantener el cumplimiento de normativas de protección de datos como GDPR e HIPAA.

¿Cómo puedo eliminar un texto específico de todas las páginas de un PDF?

Con IronPDF, puede redactar texto específico de todas las páginas con el método RedactTextOnAllPages. Simplemente cargue su documento PDF, llame a doc.RedactTextOnAllPages('sensitive info'), y guarde el documento redactado. Esto elimina permanentemente el texto especificado en todo el PDF.

¿Puedo redactar regiones o áreas específicas en un documento PDF?

Sí, IronPDF le permite redactar regiones específicas proporcionando coordenadas, anchura y altura mediante el método RedactRegionsOnAllPages. Esto es particularmente útil para ocultar formularios, firmas, imágenes o cualquier contenido visual que contenga información confidencial, independientemente del tipo de contenido.

¿Cuál es la diferencia entre la redacción de textos y la redacción de regiones?

La redacción de texto en IronPDF tiene como objetivo y elimina cadenas de texto específicas en todo el documento, mientras que la redacción de regiones oscurece áreas específicas basadas en coordenadas. La redacción de regiones es ideal para contenido no textual como imágenes, firmas o campos de formulario, mientras que la redacción de texto es perfecta para eliminar palabras o frases específicas.

¿Cuántos pasos son necesarios para aplicar la redacción de PDF?

IronPDF simplifica la redacción de PDF con sólo 5 pasos: descargue la biblioteca de C#, prepare su documento PDF, utilice RedactTextOnAllPages para la redacción de texto o RedactRegionsOnAllPages para la redacción de regiones y, por último, guarde el documento redactado como un archivo nuevo.

¿Es el proceso de redacción permanente y seguro?

Sí, los métodos de redacción de IronPDF eliminan permanentemente la información confidencial de la estructura del PDF, no sólo la cubren visualmente. Esto garantiza que el contenido redactado no se pueda recuperar ni se pueda acceder a él, lo que proporciona una verdadera seguridad y cumplimiento para los documentos confidenciales.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 20,296,129 | Versión: 2026.7 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.