Substituir texto em documentos empresariais é uma tarefa comum. Este artigo explica como encontrar e substituir conteúdo em documentos PDF usando IA e C#. Você aprenderá como aplicar redacções personalizadas e integrar IA para modificar conteúdo PDF.

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

Funcionalidade do GroupDocs.Redaction para Substituir Texto

O GroupDocs.Redaction permite substituir texto em vários formatos de arquivo suportados. Este método baseia-se em expressões regulares para identificar o texto que precisa ser substituído. No entanto, trabalhar com expressões regulares pode exigir um esforço adicional, especialmente em cenários mais complexos. Para mais informações, consulte a nossa documentação.

Passos para redigir PDF usando ferramentas de IA via C#

Você pode usar esta funcionalidade para ocultar informações sensíveis ou gerar um documento personalizado a partir de um modelo. Os seguintes passos mostram como usar IA para substituir texto específico em um documento PDF dentro de uma aplicação .NET.

  • Carregue o arquivo PDF usando a classe Redactor.
  • Forneça um manipulador de redacção personalizado implementando sua lógica de IA através da interface ICustomRedactionHandler.
  • Processar o texto do documento, utilizando PageAreaRedaction juntamente com ReplacementOptions.
  • Aplique a redacção usando o método Apply().
  • Salve o documento processado em um novo local usando o método Save().

Código C# comum para usar a funcionalidade GroupDocs.Redaction

O seguinte código usa IA para encontrar e substituir números de cartões de crédito em um documento. Este trecho de código inclui o método principal que inicializa o Redactor e aplica redacções chamando o método Apply().

public async Task Redaction_Custom_AI()
{
    // Normalmente, essa regex é usada para encontrar texto para substituição
    // Para fornecer todos os textos possíveis para redacção personalizada, use uma regex como no exemplo
    Regex regex = new Regex(".*");

    //Defina as páginas de destino e o texto de substituição para redacções
    ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
        optionsText.Filters = new RedactionFilter[] {
        new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
    };

    //Forneça uma implementação de manipulador de redacção personalizado
    optionsText.CustomRedaction = new TextRedactor() { Test = this };

    var textRedaction = new PageAreaRedaction(regex, optionsText);
    var redactions = new Redaction[] { textRedaction };

    //Processar o documento
    using (var redactor = new Redactor("source.pdf"))
    {
        //Aplicar redacções ao documento
        RedactorChangeLog result = redactor.Apply(redactions);
        if (result.Status != RedactionStatus.Failed)
        {
            redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
        }
    }
}

Código de redacção personalizada em C#

A implementação de ICustomRedactionHandler permite que os usuários definam sua própria lógica para redigir parágrafos de texto em arquivos PDF. O uso de tais classes permite algoritmos flexíveis adaptados a necessidades empresariais específicas.

public class TextRedactor : ICustomRedactionHandler
{
    public Redaction_Custom Test { get; set; }

    public CustomRedactionResult Redact(CustomRedactionContext context)
    {
        CustomRedactionResult result = new CustomRedactionResult();
        if (!String.IsNullOrEmpty(context.Text))
        {
            var response = Process_AI(context.Text, "[redacted-custom]").GetAwaiter().GetResult();
            if (response.Result != "none")
            {
                result.Apply = true;
                result.Text = response.Result;
            }
        }
        return result;
    }
}

Exemplo de solicitação de IA

A parte final é o código de integração da IA. A solicitação fornecida é bastante sofisticada, pois nem todas as ferramentas de IA podem processar dados sensíveis, como números de cartões de crédito.

public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
    string prompt =
        "Oi, eu tenho um pedaço de documento aqui. " +
        "Você poderia me ajudar a trocar qualquer parte que pareça blocos digitais, como 'XXXX-'? " +
        "Esses blocos são apenas números e traços. " +
        "Cada entrada que quero substituir pode ter de um a quatro desses blocos. " +
        $"Por favor, substitua todo o bloco por '{replacement}' no texto. " +
        "Não preciso de nenhum dos seus comentários. " +
        "Retorne como resultado apenas o texto com as entradas substituídas ou simplesmente a palavra 'none' se não havia nada para substituir " +
        $"Aqui está o texto para trabalhar \n\n {text}";

    // Código de integração de IA do usuário, que depende da ferramenta de IA utilizada
    return await RequestToAI(prompt);
}

A saída do código acima é a seguinte:

Conclusão

Neste artigo, aprendemos como usar redacções personalizadas e integrações de IA para processar PDFs. As ferramentas de IA podem simplificar muito o processamento de texto, mas podem levar mais tempo e ser menos previsíveis em comparação com ferramentas regulares.

Para mais informações sobre nosso produto, visite a documentação. Se você tiver alguma dúvida, sinta-se à vontade para entrar em contato conosco via o fórum.

Experimente nossa aplicação web gratuita

Explore as capacidades do GroupDocs.Redaction usando nossa aplicação web online. Teste os recursos principais diretamente no seu navegador sem instalar nada.

Veja Também