إدارة الخطوط - واجهة برمجة تطبيقات PowerPoint Java
Contents
[
Hide
]
إدارة خصائص الخط المرتبطة
العروض التقديمية تحتوي عادة على نصوص وصور. يمكن تنسيق النص بطرق متنوعة، إما لتسليط الضوء على أقسام وكلمات معينة أو للت conform مع الأنماط المؤسسية. يساعد تنسيق النص المستخدمين في تغيير مظهر محتوى العرض التقديمي. يوضح هذا المقال كيفية استخدام Aspose.Slides لـ PHP عبر Java لتكوين خصائص الخط للفقرات النصية على الشرائح.
لإدارة خصائص الخط لفقرات باستخدام Aspose.Slides لـ PHP عبر Java:
- أنشئ مثيلًا من فئة Presentation.
- احصل على مرجع الشريحة باستخدام فهرسها.
- الوصول إلى الأشكال Placeholder في الشريحة وتحويلها إلى AutoShape.
- احصل على Paragraph من TextFrame المعروض بواسطة AutoShape.
- قم بتبرير الفقرة.
- الوصول إلى Paragraph’s نص 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 لـ PHP عبر Java لإنشاء صندوق نص يحتوي على بعض النصوص ثم تعريف خط معين، والعديد من الخصائص الأخرى من فئة الخط.
لإنشاء صندوق نص وتعيين خصائص الخط للنص داخله:
- أنشئ مثيلًا من فئة Presentation.
- احصل على مرجع شريحة باستخدام فهرسها.
- أضف AutoShape من نوع Rectangle إلى الشريحة.
- إزالة نمط التعبئة المرتبط بـ AutoShape.
- الوصول إلى TextFrame المرتبط بـ AutoShape.
- أضف بعض النص إلى TextFrame.
- الوصول إلى كائن Portion المرتبط بـ TextFrame.
- تحديد الخط الذي سيتم استخدامه لـ Portion.
- تعيين خصائص خط أخرى مثل العريض، المائل، التسطير، اللون، والارتفاع باستخدام الخصائص ذات الصلة المعروضة بواسطة كائن Portion.
- كتابة العرض التقديمي المعدل كملف PPTX.
تنفيذ الخطوات أعلاه موضح أدناه.
الشكل: نص مع بعض خصائص الخط المحددة بواسطة Aspose.Slides لـ PHP عبر 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);
# تعيين الخط لـ Portion
$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();
}
}