إدارة أجزاء النص في العروض التقديمية على Android

الحصول على إحداثيات جزء من النص

تمت إضافة طريقة getCoordinates() إلى الفئة IPortion وPortion التي تسمح باسترجاع إحداثيات بداية الجزء.

// إنشاء فئة Presentation التي تمثل ملف PPTX
Presentation pres = new Presentation();
try {
    // إعادة تشكيل سياق العرض التقديمي
    IAutoShape shape = (IAutoShape) pres.getSlides().get_Item(0).getShapes().get_Item(0);
    
    ITextFrame textFrame = (ITextFrame) shape.getTextFrame();
    
    for (IParagraph paragraph : textFrame.getParagraphs()) 
    {
        for (IPortion portion : paragraph.getPortions()) 
        {
            Point2D.Float point = portion.getCoordinates();
            System.out.println("X: " + point.x + " Y: " + point.y);
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

الأسئلة المتكررة

هل يمكنني تطبيق ارتباط تشعبي على جزء فقط من النص داخل فقرة واحدة؟

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

كيف يعمل وراثة الأنماط: ما الذي تتجاوزُه الـ Portion، وما الذي يُؤخذ من Paragraph/TextFrame؟

لدى خصائص المستوى Portion أولوية أعلى. إذا لم يتم تعيين خاصية على Portion، فإن المحرك يأخذها من Paragraph; إذا لم تُحدد هناك أيضًا، فإنه يأخذها من TextFrame أو نمط theme.

ماذا يحدث إذا كان الخط المحدد لـ Portion غير موجود على الجهاز/الخادم الهدف؟

تنطبق قواعد استبدال الخطوط. قد يتغير تدفق النص: يمكن أن تتغير المقاييس والكسرة والعرض، مما يؤثر على التحديد الدقيق.

هل يمكنني تعيين شفافية تعبئة النص أو تدرج لجزء Portion بشكل مستقل عن باقي الفقرة؟

نعم، يمكن أن تختلف لون النص، والتعبئة، والشفافية على مستوى Portion عن القطع المجاورة.