Redigir documentos PDF usando C#

Você pode redigir documentos PDF programaticamente sem instalar nenhum aplicativo externo. Como desenvolvedor C#, você pode facilmente redigir seus documentos PDF em seus aplicativos .NET. Este artigo se concentrará em como redigir documentos PDF usando C#.

Os seguintes tópicos são discutidos/abordados neste artigo:

API C# para redação de PDF

Para redação em documentos PDF, usarei a API GroupDocs.Redaction for .NET. Ele permite que você redija PDF, Word, Excel, PowerPoint e arquivos de imagem. Ele também permite que você remova as informações classificadas de mais de 30 tipos de formatos suportados. Você pode aplicar vários tipos de redação, como redação de texto, redação de metadados, redação de anotação e redação de documento tabular.

Você pode baixar a DLL da API ou instalá-la usando o NuGet.

Install-Package GroupDocs.Redaction

Redigir texto em PDF usando C#

Você pode aplicar facilmente a redação de texto em documentos PDF seguindo as etapas simples mencionadas abaixo:

O exemplo de código a seguir mostra como redigir texto em um documento PDF usando C#.

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

// criar redação de frase exata
ExactPhraseRedaction redaction = new ExactPhraseRedaction("John Doe", true, new ReplacementOptions("[personal]"));

// aplicar redação
RedactorChangeLog result = redactor.Apply(redaction);
if (result.Status != RedactionStatus.Failed)
{
    redactor.Save();
};
Redigir texto em PDF usando C#

Redigir texto em PDF usando C#

O Redactor é a classe principal que fornece vários métodos para executar o processo de redação de documentos. Também permite abrir, redigir e salvar documentos. O método Apply() desta classe aplica a redação definida ao documento. Além disso, o método Save() dessa classe salva o documento em um arquivo.

A ExactPhraseRedaction fornece métodos para executar uma redação de texto para substituir uma frase exata no documento. Também permite pesquisar dados sensíveis a maiúsculas e minúsculas, definindo o IsCaseSensitive como true.

O ReplacementOptions representa opções para substituição de texto correspondente.

A classe RedactorChangeLog representa os resultados de uma lista de redações, passadas para o método Apply() da classe Redactor.

Redação de metadados em PDF usando C#

Você pode aplicar a redação de metadados em documentos PDF seguindo as etapas simples mencionadas abaixo:

O exemplo de código a seguir mostra como redigir metadados em um documento PDF usando C#.

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

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

// aplicar redação
redactor.Apply(redaction);
redactor.Save();
Redigir metadados em PDF usando C#

Redigir metadados em PDF usando C#

A classe EraseMetadataRedaction fornece métodos para apagar todos os metadados. Ele também permite apagar metadados correspondentes a MetadataFilters específicos do documento.

O MetadataFilters é uma lista dos tipos mais comuns de metadados de documentos, como Autor, Comentários, Empresa.

Edite imagens em PDF usando C#

Você pode aplicar a redação de imagens em documentos PDF seguindo as etapas simples mencionadas abaixo:

O exemplo de código a seguir mostra como redigir imagens em um documento PDF usando C#.

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

// definir tamanho e pontos
System.Drawing.Point samplePoint = new System.Drawing.Point(0, 0);
System.Drawing.Size sampleSize = new System.Drawing.Size(300, 240);

// definir a redação da área da imagem
ImageAreaRedaction redaction = new ImageAreaRedaction(samplePoint,
             new RegionReplacementOptions(System.Drawing.Color.Blue, sampleSize));

// aplicar redação
RedactorChangeLog result = redactor.Apply(redaction);

if (result.Status != RedactionStatus.Failed)
{
    redactor.Save();
};
Edite imagens em PDF usando C#

Edite imagens em PDF usando C#

A classe ImageAreaRedaction permite colocar um retângulo colorido em determinada área de um documento de imagem.

A classe RegionReplacementOption representa os parâmetros de cor e área de uma região a ser substituída por imagem.

Aplicar várias redações em PDF usando C#

Você pode aplicar várias redações em documentos PDF seguindo as etapas simples mencionadas abaixo:

O exemplo de código a seguir mostra como aplicar várias redações em um documento PDF usando C#.

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

// definir várias redações
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 redações
RedactorChangeLog result = redactor.Apply(redactionList);

// salve se aplicado senão mostrar erros
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 várias redações em PDF usando C#

Aplicar várias redações em PDF usando C#

A classe RegexRedaction permite realizar uma redação de texto. Você pode pesquisar e substituir qualquer texto no documento correspondendo a um texto usando expressão regular.

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como redigir documentos PDF usando C#. Você também aprendeu como redigir Texto, Metadados e Imagens em documentos PDF. Além disso, você aprendeu como aplicar várias redações em PDF usando C#. Você pode aprender mais sobre GroupDocs.Redaction para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também