إدارة النص العلوي والنص السفلي في العروض التقديمية باستخدام PHP
إدارة النص العلوي والنص السفلي
يمكنك إضافة نص علوي أو سفلي داخل أي جزء من الفقرة. لإضافة نص علوي أو سفلي في إطار النص Aspose.Slides يجب استخدام طريقة setEscapement من فئة PortionFormat .
تُعيد هذه الخاصية أو تُحدد النص العلوي أو السفلي (القيمة من -100% (سفلي) إلى 100% (علوي)). على سبيل المثال:
- إنشاء مثيل من فئة Presentation .
- الحصول على مرجع الشريحة باستخدام فهرستها.
- إضافة IAutoShape من النوع Rectangle إلى الشريحة.
- الوصول إلى ITextFrame المرتبط بـ IAutoShape .
- مسح الفقرات الموجودة
- إنشاء كائن فقرة جديد للاحتفاظ بالنص العلوي وإضافته إلى مجموعة IParagraphs collection الخاصة بـ ITextFrame .
- إنشاء كائن جزء جديد
- تعيين خاصية Escapement للجزء بين 0 إلى 100 لإضافة النص العلوي. (0 يعني عدم وجود نص علوي)
- تعيين نص لبعض Portion ثم إضافته إلى مجموعة الأجزاء في الفقرة.
- إنشاء كائن فقرة جديد للاحتفاظ بالنص السفلي وإضافته إلى مجموعة IParagraphs في ITextFrame.
- إنشاء كائن جزء جديد
- تعيين خاصية Escapement للجزء بين 0 إلى -100 لإضافة النص السفلي. (0 يعني عدم وجود نص سفلي)
- تعيين نص لبعض Portion ثم إضافته إلى مجموعة الأجزاء في الفقرة.
- حفظ العرض التقديمي كملف PPTX.
تنفيذ الخطوات المذكورة أعلاه موضح أدناه.
# إنشاء كائن من فئة Presentation يمثل ملف PPTX
$pres = new Presentation();
try {
# الحصول على الشريحة
$slide = $pres->getSlides()->get_Item(0);
# إنشاء مربع نص
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 200, 100);
$textFrame = $shape->getTextFrame();
$textFrame->getParagraphs()->clear();
# إنشاء فقرة للنص العلوي
$superPar = new Paragraph();
# إنشاء جزء بنص عادي
$portion1 = new Portion();
$portion1->setText("SlideTitle");
$superPar->getPortions()->add($portion1);
# إنشاء جزء بنص علوي
$superPortion = new Portion();
$superPortion->getPortionFormat()->setEscapement(30);
$superPortion->setText("TM");
$superPar->getPortions()->add($superPortion);
# إنشاء فقرة للنص السفلي
$paragraph2 = new Paragraph();
# إنشاء جزء بنص عادي
$portion2 = new Portion();
$portion2->setText("a");
$paragraph2->getPortions()->add($portion2);
# إنشاء جزء بنص سفلي
$subPortion = new Portion();
$subPortion->getPortionFormat()->setEscapement(-25);
$subPortion->setText("i");
$paragraph2->getPortions()->add($subPortion);
# إضافة الفقرات إلى مربع النص
$textFrame->getParagraphs()->add($superPar);
$textFrame->getParagraphs()->add($paragraph2);
$pres->save("formatText.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الأسئلة الشائعة
هل سيتم الحفاظ على النص العلوي والسفلي عند التصدير إلى PDF أو صيغ أخرى؟
نعم، يقوم Aspose.Slides بحفظ تنسيق النص العلوي والنص السفلي بشكل صحيح عند تصدير العروض التقديمية إلى PDF أو PPT/PPTX أو الصور أو أي صيغ مدعومة أخرى. يبقى التنسيق المتخصص محفوظًا في جميع ملفات الإخراج.
هل يمكن دمج النص العلوي أو السفلي مع أنماط تنسيق أخرى مثل الغامق أو المائل؟
نعم، يسمح Aspose.Slides بخلط أنماط النص المختلفة داخل جزء نص واحد. يمكنك تمكين الخط الغامق أو المائل أو التسطير، وتطبيق النص العلوي أو السفلي في الوقت نفسه عن طريق ضبط الخصائص المقابلة في PortionFormat.
هل يعمل تنسيق النص العلوي والسفلي للنص داخل الجداول أو المخططات أو SmartArt؟
نعم، يدعم Aspose.Slides التنسيق داخل معظم الكائنات، بما في ذلك الجداول وعناصر المخططات. عند العمل مع SmartArt، يجب الوصول إلى العناصر المناسبة (مثل SmartArtNode) وحاويات النص الخاصة بها، ثم ضبط خصائص PortionFormat بنفس الطريقة.