استبدال النصوص في المستندات التجارية هو مهمة شائعة. يشرح هذا المقال كيفية العثور على المحتوى واستبداله في مستندات PDF باستخدام الذكاء الاصطناعي و C#. ستتعلم كيفية تطبيق عمليات حذف مخصصة ودمج الذكاء الاصطناعي لتعديل محتوى PDF.

تتناول المواضيع التالية في هذا المقال:

ميزة GroupDocs.Redaction لاستبدال النص

تتيح لك GroupDocs.Redaction استبدال النصوص في تنسيقات الملفات المدعومة المختلفة. تعتمد هذه الطريقة على التعبيرات العادية لتحديد النص الذي يحتاج إلى الاستبدال. ومع ذلك، فإن العمل مع التعبيرات العادية قد يتطلب جهدًا إضافيًا، خاصة في السيناريوهات الأكثر تعقيدًا. لمزيد من المعلومات، راجع التوثيق.

خطوات حجب PDF باستخدام أدوات الذكاء الاصطناعي عبر C#

يمكنك استخدام هذه الميزة لإخفاء المعلومات الحساسة أو لإنشاء مستند مخصص من قالب. تظهر الخطوات التالية كيفية استخدام الذكاء الاصطناعي لاستبدال نصوص معينة في مستند PDF داخل تطبيق .NET.

  • تحميل ملف PDF باستخدام فئة Redactor.
  • توفير معالج حذف مخصص عن طريق تنفيذ منطق الذكاء الاصطناعي الخاص بك من خلال واجهة ICustomRedactionHandler.
  • معالجة نص المستند، باستخدام PageAreaRedaction مع ReplacementOptions.
  • تطبيق الحذف باستخدام طريقة Apply().
  • حفظ المستند المعالج في موقع جديد باستخدام طريقة Save().

كود C# الشائع لاستخدام وظيفة GroupDocs.Redaction

يستخدم الكود التالي الذكاء الاصطناعي للعثور على أرقام بطاقات الائتمان واستبدالها في مستند. يتضمن جزء الكود الرئيسي الذي يقوم بتهيئة الـ Redactor ويطبق عمليات الحذف من خلال استدعاء طريقة Apply().

public async Task Redaction_Custom_AI()
{
    // عادة، يتم استخدام هذا التعبير العادي للعثور على النص للاستبدال
    // لتوفير جميع النصوص الممكنة للحد من الحذف المخصص، استخدم تعبيرًا عاديًا كما في المثال
    Regex regex = new Regex(".*");

    // تحديد صفحات الهدف ونص الاستبدال لعمليات الحذف
    ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
        optionsText.Filters = new RedactionFilter[] {
        new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
    };

    // توفير تنفيذ معالج الحذف المخصص
    optionsText.CustomRedaction = new TextRedactor() { Test = this };

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

    // معالجة المستند
    using (var redactor = new Redactor("source.pdf"))
    {
        // تطبيق عمليات الحذف على المستند
        RedactorChangeLog result = redactor.Apply(redactions);
        if (result.Status != RedactionStatus.Failed)
        {
            redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
        }
    }
}

كود الحذف المخصص بلغة C#

تتيح واجهة ICustomRedactionHandler للمستخدمين تحديد منطقهم الخاص لحذف الفقرات النصية في مستندات PDF. يسمح استخدام مثل هذه الفئات بإنشاء خوارزميات مرنة مصممة لتلبية احتياجات العمل المحددة.

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;
    }
}

مثال على مطالبة الذكاء الاصطناعي

جزء الكود الأخير هو كود دمج الذكاء الاصطناعي. كانت المطالبة المقدمة معقدة إلى حد ما، حيث لا تستطيع جميع أدوات الذكاء الاصطناعي معالجة البيانات الحساسة، مثل أرقام بطاقات الائتمان.

public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
    string prompt =
        "مرحبًا، لدي هنا جزء من مستند. " +
        "هل يمكنك مساعدتي في استبدال أي أجزاء تبدو مثل الكتل الرقمية، مثل 'XXXX-'؟ " +
        "هذه الكتل عبارة عن أرقام وشرطتان. " +
        "قد يحتوي كل إدخال أرغب في استبداله على مكان من واحد إلى أربعة من هذه الكتل. " +
        $"يرجى استبدال الكتلة بالكامل بـ '{replacement}' في النص. " +
        "لا أحتاج إلى أي من تعليقاتك. " +
        "أرجع كنتيجة فقط النص مع الإدخالات المستبدلة أو فقط كلمة 'none' إذا لم يكن هناك شيء لاستبداله " +
        $"إليك النص للعمل عليه \n\n {text}";

    // كود دمج الذكاء الاصطناعي الخاص بالمستخدم، والذي يعتمد على أداة الذكاء الاصطناعي المستخدمة
    return await RequestToAI(prompt);
}

النتيجة الناتجة عن الكود أعلاه هي كما يلي:

الاستنتاج

في هذا المقال، تعلمنا كيفية استخدام عمليات الحذف المخصصة ودمج الذكاء الاصطناعي لمعالجة PDFs. يمكن أن تبسط أدوات الذكاء الاصطناعي معالجة النصوص بشكل كبير لكنها قد تستغرق مزيدًا من الوقت وتكون أقل قابلية للتنبؤ مقارنة بالأدوات العادية.

للحصول على مزيد من المعلومات حول منتجنا، تفضل بزيارة التوثيق. إذا كانت لديك أي استفسارات، فلا تتردد في الاتصال بنا عبر المنتدى.

جرب تطبيقنا المجاني

استكشف قدرات GroupDocs.Redaction باستخدام تطبيقنا على الويب. اختبر الميزات الأساسية مباشرة في متصفحك دون الحاجة إلى تثبيت أي شيء.

انظر أيضًا