استخراج النص المتقدم من العروض التقديمية في .NET

نظرة عامة

استخراج النص من العروض التقديمية هو مهمة شائعة ولكنها أساسية للمطورين الذين يعملون مع محتوى الشرائح. سواء كنت تتعامل مع ملفات Microsoft PowerPoint بصيغة PPT أو PPTX، أو عروض OpenDocument (ODP)، فإن الوصول إلى البيانات النصية واستعادتها يمكن أن يكون حيويًا للتحليل، الأتمتة، الفهرسة، أو مهام ترحيل المحتوى.

توفر هذه المقالة دليلًا شاملًا حول كيفية استخراج النص بكفاءة من صيغ العروض التقديمية المختلفة، بما في ذلك PPT وPPTX وODP، باستخدام Aspose.Slides for .NET. ستتعلم كيفية التجول عبر عناصر العرض لاستخلاص النص المطلوب بدقة.

استخراج النص من شريحة

Aspose.Slides for .NET توفر مساحة الأسماء Aspose.Slides.Util التي تشمل الفئة SlideUtil. هذه الفئة تعرض عدة أساليب ثابتة محملة زائدًا لاستخراج كل النص من عرض تقديمي أو شريحة. لاستخراج النص من شريحة في عرض تقديمي، استخدم الأسلوب GetAllTextBoxes. هذا الأسلوب يقبل كائنًا من النوع IBaseSlide كمعامل. عند التنفيذ، يقوم الأسلوب بمسح الشريحة بالكامل بحثًا عن النص ويعيد مصفوفة من الكائنات من النوع ITextFrame، مع الحفاظ على أي تنسيق نصي.

المقتطف البرمجي التالي يستخرج كل النص من الشريحة الأولى في العرض:

int slideIndex = 0;

using var presentation = new Presentation("demo.pptx");

var slide = presentation.Slides[slideIndex];

var textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide);

foreach (var textFrame in textFrames)
{
    foreach (var paragraph in textFrame.Paragraphs)
    {
        foreach (var portion in paragraph.Portions)
        {
            var portionText = portion.Text;
            Console.WriteLine(portionText);

            var portionFormat = portion.PortionFormat;
            var fontHeight = portionFormat.FontHeight;
            Console.WriteLine(fontHeight);

            var latinFont = portionFormat.LatinFont;
            if (latinFont != null)
            {
                var fontName = latinFont.FontName;
                Console.WriteLine(fontName);
            }
        }
    }
}

استخراج النص من عرض تقديمي

لمسح النص من العرض بالكامل، استخدم الأسلوب الثابت GetAllTextFrames الذي توفره الفئة SlideUtil. يتقبل هذا الأسلوب معاملين:

  1. أولاً، كائن من النوع IPresentation يمثل عرض PowerPoint أو OpenDocument سيتم استخراج النص منه.
  2. ثانيًا، قيمة Boolean تُشير إلى ما إذا كان يجب تضمين الشرائح الرئيسية عند مسح النص من العرض.

يعيد الأسلوب مصفوفة من الكائنات من النوع ITextFrame، متضمنةً معلومات تنسيق النص. الشيفرة أدناه تمسح النص وتفاصيل التن