Reemplazar texto en documentos comerciales es una tarea común. Este artículo explica cómo encontrar y reemplazar contenido en documentos PDF utilizando IA y C#. Aprenderás cómo aplicar redacciones personalizadas e integrar IA para modificar el contenido de PDF.
Los siguientes temas se abordan en este artículo:
- Forma regular de reemplazar texto
- Pasos para redactar PDF utilizando herramientas de IA a través de C#
- Código C# común para utilizar la funcionalidad de GroupDocs.Redaction
- Código C# de redacción personalizada
- Ejemplo de aviso de IA
Funcionalidad de GroupDocs.Redaction para reemplazar texto
GroupDocs.Redaction te permite reemplazar texto en varios formatos de archivo compatibles. Este método se basa en expresiones regulares para identificar el texto que necesita ser reemplazado. Sin embargo, trabajar con expresiones regulares puede requerir un esfuerzo adicional, especialmente en escenarios más complejos. Para más información, consulta nuestra documentación.
Pasos para redactar PDF utilizando herramientas de IA a través de C#
Puedes utilizar esta función para ocultar información sensible o para generar un documento personalizado a partir de una plantilla. Los siguientes pasos muestran cómo usar IA para reemplazar texto específico en un documento PDF dentro de una aplicación .NET.
- Carga el archivo PDF utilizando la clase Redactor.
- Proporciona un controlador de redacción personalizado implementando tu lógica de IA a través de la interfaz ICustomRedactionHandler.
- Procesa el texto del documento, utilizando PageAreaRedaction junto con ReplacementOptions.
- Aplica la redacción utilizando el método Apply().
- Guarda el documento procesado en una nueva ubicación utilizando el método Save().
Código C# común para utilizar la funcionalidad de GroupDocs.Redaction
El siguiente código utiliza IA para encontrar y reemplazar números de tarjetas de crédito en un documento. Este fragmento de código incluye el método principal que inicializa el Redactor y aplica las redacciones al llamar al método Apply().
public async Task Redaction_Custom_AI()
{
    // Normalmente, esta regex se utiliza para encontrar texto para reemplazo
    // Para proporcionar todo el texto posible para la redacción personalizada, utiliza una regex como en el ejemplo
    Regex regex = new Regex(".*");
    //Define páginas objetivo y texto de reemplazo para redacciones
    ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
        optionsText.Filters = new RedactionFilter[] {
        new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
    };
    //Proporciona una implementación de controlador de redacción personalizado
    optionsText.CustomRedaction = new TextRedactor() { Test = this };
    var textRedaction = new PageAreaRedaction(regex, optionsText);
    var redactions = new Redaction[] { textRedaction };
    //Procesa el documento
    using (var redactor = new Redactor("source.pdf"))
    {
        //Aplica redacciones al documento
        RedactorChangeLog result = redactor.Apply(redactions);
        if (result.Status != RedactionStatus.Failed)
        {
            redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
        }
    }
}
Código C# de redacción personalizada
La implementación de ICustomRedactionHandler permite a los usuarios definir su propia lógica para redactar párrafos de texto en archivos PDF. Utilizar tales clases permite algoritmos flexibles adaptados a necesidades comerciales 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;
    }
}
Ejemplo de aviso de IA
La parte final es el código de integración de IA. El aviso proporcionado es bastante sofisticado, ya que no todas las herramientas de IA pueden procesar datos sensibles, como números de tarjetas de crédito.
public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
    string prompt =
        "Hola, tengo un documento aquí. " +
        "¿Podrías ayudarme a intercambiar cualquier parte que parezca bloques digitales, como 'XXXX-'? " +
        "Estos bloques son solo números y guiones. " +
        "Cada entrada que quiero reemplazar podría tener de uno a cuatro de estos bloques. " +
        $"Por favor, reemplaza todo el bloque con '{replacement}' en el texto. " +
        "No necesito ninguno de tus comentarios. " +
        "Devuelve solo el texto con las entradas reemplazadas o simplemente la palabra 'none' si no había nada que reemplazar " +
        $"Aquí está el texto con el que trabajar \n\n {text}";
    // Código de integración de IA del usuario, que depende de la herramienta de IA utilizada
    return await RequestToAI(prompt);
}
La salida del código anterior es la siguiente:
 
 
Conclusión
En este artículo, aprendimos cómo usar redacciones personalizadas e integraciones de IA para procesar PDFs. Las herramientas de IA pueden simplificar enormemente el procesamiento de texto, pero pueden llevar más tiempo y ser menos predecibles en comparación con las herramientas regulares.
Para más información sobre nuestro producto, visita la documentación. Si tienes alguna pregunta, no dudes en contactarnos a través del foro.
Prueba nuestra aplicación web gratuita
Explora las capacidades de GroupDocs.Redaction utilizando nuestra aplicación web en línea. Prueba funciones principales directamente en tu navegador sin instalar nada.