إدارة الخطوط في العروض التقديمية باستخدام PHP
Contents
[
Hide
]
إدارة خصائص الخط المتعلقة
عادةً ما تحتوي العروض التقديمية على كلٍ من النصوص والصور. يمكن تنسيق النص بطرق متعددة، إما لتسليط الضوء على أقسام وكلمات محددة أو للامتثال لأنماط الشركة. يساعد تنسيق النص المستخدمين على تغيير مظهر محتوى العرض التقديمي. تُظهر هذه المقالة كيفية استخدام Aspose.Slides for PHP via Java لتكوين خصائص الخط للفقرات النصية على الشرائح.
لإدارة خصائص الخط لفقرة باستخدام Aspose.Slides for PHP via Java:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع الشريحة باستخدام فهرستها.
- الوصول إلى أشكال Placeholder في الشريحة وتحويل نوعها إلى AutoShape.
- الحصول على الـParagraph من الـTextFrame التي تُعرضها AutoShape.
- تبرير الفقرة.
- الوصول إلى نص الـParagraph عبر الـPortion.
- تعريف الخط باستخدام FontData وتعيين Font لنص الـPortion وفقًا لذلك.
- تعيين الخط إلى غامق.
- تعيين الخط إلى مائل.
- تعيين لون الخط باستخدام الـFillFormat التي تُعرضها كائن الـPortion.
- حفظ العرض التقديمي المعدل كملف PPTX.
التنفيذ للخطوات المذكورة أعلاه موضح أدناه. يأخذ عرضًا تقديميًا بسيطًا ويُنسق الخطوط في إحدى الشرائح. تُظهر لقطات الشاشة التالية ملف الإدخال وكيفية تعديل الشيفرة له. تُغيّر الشيفرة الخط واللون ونمط الخط.
![]() |
|---|
| الشكل: النص في ملف الإدخال |
![]() |
|---|
| الشكل: نفس النص مع تنسيق محدث |
# إنشاء كائن Presentation يمثل ملف PPTX
$pres = new Presentation("FontProperties.pptx");
try {
# الوصول إلى شريحة باستخدام موضعها
$slide = $pres->getSlides()->get_Item(0);
# الوصول إلى العنصر النائب الأول والثاني في الشريحة وتحويله إلى AutoShape
$tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
$tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
# الوصول إلى الفقرة الأولى
$para1 = $tf1->getParagraphs()->get_Item(0);
$para2 = $tf2->getParagraphs()->get_Item(0);
# محاذاة الفقرة
$para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
# الوصول إلى الجزء الأول
$port1 = $para1->getPortions()->get_Item(0);
$port2 = $para2->getPortions()->get_Item(0);
# تعريف خطوط جديدة
$fd1 = new FontData("Elephant");
$fd2 = new FontData("Castellar");
# تعيين خطوط جديدة للجزء
$port1->getPortionFormat()->setLatinFont($fd1);
$port2->getPortionFormat()->setLatinFont($fd2);
# تعيين الخط إلى غامق
$port1->getPortionFormat()->setFontBold(NullableBool::True);
$port2->getPortionFormat()->setFontBold(NullableBool::True);
# تعيين الخط إلى مائل
$port1->getPortionFormat()->setFontItalic(NullableBool::True);
$port2->getPortionFormat()->setFontItalic(NullableBool::True);
# تعيين لون الخط
$port1->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port1->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$port2->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port2->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
# حفظ ملف PPTX إلى القرص
$pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
ضبط خصائص خط النص
كما هو مذكور في إدارة خصائص الخط المتعلقة، يُستخدم الـPortion لحفظ النص ذي نمط تنسيق موحد داخل الفقرة. تُظهر هذه المقالة كيفية استخدام Aspose.Slides for PHP via Java لإنشاء مربع نص يحتوي على بعض النصوص ثم تحديد خط معين، بالإضافة إلى خصائص أخرى لفئة عائلة الخط.
لإنشاء مربع نص وتعيين خصائص الخط للنص داخله:
- إنشاء نسخة من الفئة Presentation.
- الحصول على مرجع الشريحة باستخدام فهرستها.
- إضافة AutoShape من النوع Rectangle إلى الشريحة.
- إزالة نمط التعبئة المرتبط بالـAutoShape.
- الوصول إلى الـTextFrame الخاص بالـAutoShape.
- إضافة بعض النصوص إلى الـTextFrame.
- الوصول إلى كائن الـPortion المرتبط بالـTextFrame.
- تعريف الخط الذي سيُستخدم للـPortion.
- تعيين خصائص أخرى للخط مثل الغامق، المائل، التحته خط، اللون والارتفاع باستخدام الخصائص المناسبة التي تُعرضها كائن الـPortion.
- حفظ العرض التقديمي المعدل كملف PPTX.
التنفيذ للخطوات المذكورة أعلاه موضح أدناه.
![]() |
|---|
| الشكل: نص مع بعض خصائص الخط التي تم ضبطها بواسطة Aspose.Slides for PHP via Java |
# إنشاء كائن Presentation يمثل ملف PPTX
$pres = new Presentation();
try {
# الحصول على الشريحة الأولى
$sld = $pres->getSlides()->get_Item(0);
# إضافة AutoShape من النوع Rectangle
$ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
# إزالة أي نمط تعبئة مرتبط بـ AutoShape
$ashp->getFillFormat()->setFillType(FillType::NoFill);
# الوصول إلى TextFrame المرتبط بـ AutoShape
$tf = $ashp->getTextFrame();
$tf->setText("Aspose TextBox");
# الوصول إلى Portion المرتبط بـ TextFrame
$port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
# تحديد الخط للجزء
$port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
# تعيين خاصية الغامق للخط
$port->getPortionFormat()->setFontBold(NullableBool::True);
# تعيين خاصية المائل للخط
$port->getPortionFormat()->setFontItalic(NullableBool::True);
# تعيين خاصية التسطير للخط
$port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
# تحديد ارتفاع الخط
$port->getPortionFormat()->setFontHeight(25);
# تحديد لون الخط
$port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
# حفظ العرض التقديمي إلى القرص
$pres->save("pptxFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}


