Redactar documentos PDF usando C#

Puede redactar documentos PDF mediante programación sin instalar ninguna aplicación externa. Como desarrollador de C#, puede redactar fácilmente sus documentos PDF en sus aplicaciones .NET. Este artículo se centrará en cómo redactar documentos PDF usando C#.

Los siguientes temas se discuten/tratan en este artículo:

API de C# para redacción de PDF

Para la redacción en documentos PDF, usaré GroupDocs.Redaction for .NET API. Le permite redactar archivos PDF, Word, Excel, PowerPoint e imágenes. También le permite eliminar la información clasificada de más de 30 tipos de formatos admitidos. Puede aplicar varios tipos de redacción, como redacción de texto, redacción de metadatos, redacción de anotaciones y redacción de documentos tabulares.

Puede descargar la DLL de la API o instalarla mediante NuGet.

Install-Package GroupDocs.Redaction

Redactar texto en PDF usando C#

Puede aplicar fácilmente la redacción de texto en documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:

El siguiente ejemplo de código muestra cómo redactar texto en un documento PDF usando C#.

// crear redactor
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");

// crear redacción de frase exacta
ExactPhraseRedaction redaction = new ExactPhraseRedaction("John Doe", true, new ReplacementOptions("[personal]"));

// aplicar redacción
RedactorChangeLog result = redactor.Apply(redaction);
if (result.Status != RedactionStatus.Failed)
{
    redactor.Save();
};
Redactar texto en PDF usando C#

Redactar texto en PDF usando C#

El Redactor es la clase principal que proporciona varios métodos para realizar el proceso de redacción de documentos. También le permite abrir, redactar y guardar documentos. El método Apply() de esta clase aplica la redacción definida al documento. Además, el método Save() de esta clase guarda el documento en un archivo.

ExactPhraseRedaction proporciona métodos para realizar una redacción de texto para reemplazar una frase exacta en el documento. También permite buscar datos sensibles a mayúsculas y minúsculas configurando IsCaseSensitive en verdadero.

Las Opciones de reemplazo representan opciones para el reemplazo de texto coincidente.

La clase RedactorChangeLog representa los resultados de una lista de redacciones, pasadas al método Apply() de la clase Redactor.

Redacción de metadatos en PDF usando C#

Puede aplicar la redacción de metadatos en documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:

El siguiente ejemplo de código muestra cómo redactar metadatos en un documento PDF usando C#.

// crear redactor
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");

// borrar autor, gerente y empresa
EraseMetadataRedaction redaction = new EraseMetadataRedaction(MetadataFilters.Author | MetadataFilters.Manager | MetadataFilters.Company);

// aplicar redacción
redactor.Apply(redaction);
redactor.Save();
Redactar metadatos en PDF usando C#

Redactar metadatos en PDF usando C#

La clase EraseMetadataRedaction proporciona métodos para borrar todos los metadatos. También permite borrar metadatos que coincidan con MetadataFilters específicos del documento.

MetadataFilters es una lista de los tipos más comunes de metadatos de documentos, como Autor, Comentarios, Empresa.

Redactar imágenes en PDF usando C#

Puede aplicar la redacción de imágenes en documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:

El siguiente ejemplo de código muestra cómo redactar imágenes en un documento PDF usando C#.

// crear redactor
Redactor redactor = new Redactor("C:\\Files\\sample_with_images.pdf");

// definir tamaño y puntos
System.Drawing.Point samplePoint = new System.Drawing.Point(0, 0);
System.Drawing.Size sampleSize = new System.Drawing.Size(300, 240);

// definir la redacción del área de la imagen
ImageAreaRedaction redaction = new ImageAreaRedaction(samplePoint,
             new RegionReplacementOptions(System.Drawing.Color.Blue, sampleSize));

// aplicar redacción
RedactorChangeLog result = redactor.Apply(redaction);

if (result.Status != RedactionStatus.Failed)
{
    redactor.Save();
};
Redactar imágenes en PDF usando C#

Redactar imágenes en PDF usando C#

La clase ImageAreaRedaction permite colocar un rectángulo de color en un área determinada de un documento de imagen.

La clase RegionReplacementOption representa los parámetros de color y área para que una región se reemplace con una imagen.

Aplicar múltiples redacciones en PDF usando C#

Puede aplicar múltiples redacciones en documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:

El siguiente ejemplo de código muestra cómo aplicar varias redacciones en un documento PDF mediante C#.

// crear redactor
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");

// definir múltiples redacciones
var redactionList = new Redaction[]
{
    new ExactPhraseRedaction("John Doe", new ReplacementOptions("[Client]")),
    new RegexRedaction("Redaction", new ReplacementOptions("[Product]")),
    new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions(System.Drawing.Color.Blue)),
    new EraseMetadataRedaction(MetadataFilters.All)
};

// aplicar redacciones
RedactorChangeLog result = redactor.Apply(redactionList);

// guardar si se aplica de lo contrario mostrar errores
if (result.Status == RedactionStatus.Applied)
{
    redactor.Save();
}
else if (result.Status == RedactionStatus.Failed)
{
    for (int i = 0; i < result.RedactionLog.Count; i++)
    {
        RedactorLogEntry logEntry = result.RedactionLog[i];
        if (logEntry.Result.Status != RedactionStatus.Applied)
        {
            Console.WriteLine("{0} status is {1}, details: {2}",
                logEntry.Redaction.GetType().Name,
                logEntry.Result.Status,
                logEntry.Result.ErrorMessage);
        }
    }
};
Aplicar múltiples redacciones en PDF usando C#

Aplicar múltiples redacciones en PDF usando C#

La clase RegexRedaction permite realizar una redacción de texto. Puede buscar y reemplazar cualquier texto en el documento haciendo coincidir un texto usando una expresión regular.

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a redactar documentos PDF con C#. También ha aprendido a redactar texto, metadatos e imágenes en documentos PDF. Además, aprendió a aplicar múltiples redacciones en PDF usando C#. Puede obtener más información sobre GroupDocs.Redaction para la API de .NET mediante la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también