إدارة SmartArt في عروض PowerPoint التقديمية باستخدام PHP
الحصول على النص من كائن SmartArt
تم الآن إضافة طريقة TextFrame إلى فئة SmartArtShape على التوالي. تسمح لك هذه الخاصية بالحصول على كل النص من SmartArt إذا لم يكن يحتوي فقط على نص العقد. سيساعدك الكود النموذجي التالي في الحصول على النص من عقدة SmartArt.
$pres = new Presentation("Presentation.pptx");
try {
$slide = $pres->getSlides()->get_Item(0);
$smartArt = $slide->getShapes()->get_Item(0);
$smartArtNodes = $smartArt->getAllNodes();
foreach($smartArtNodes as $smartArtNode) {
foreach($smartArtNode->getShapes() as $nodeShape) {
if (!java_is_null($nodeShape->getTextFrame())) {
echo($nodeShape->getTextFrame()->getText());
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تغيير نوع التخطيط لكائن SmartArt
من أجل تغيير نوع التخطيط لـ SmartArt. يرجى اتباع الخطوات التالية:
- إنشاء مثيل من فئة Presentation .
- الحصول على مرجع الشريحة باستخدام فهرسها.
- إضافة SmartArt BasicBlockList.
- تغيير LayoutType إلى BasicProcess.
- حفظ العرض التقديمي كملف PPTX. في المثال الموضح أدناه، قمنا بإضافة موصل بين شكلين.
$pres = new Presentation();
try {
# إضافة SmartArt BasicProcess
$smart = $pres->getSlides()->get_Item(0)->getShapes()->addSmartArt(10, 10, 400, 300, SmartArtLayoutType::BasicBlockList);
# تغيير LayoutType إلى BasicProcess
$smart->setLayout(SmartArtLayoutType::BasicProcess);
# حفظ العرض التقديمي
$pres->save("ChangeSmartArtLayout_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
التحقق من الخاصية المخفية لكائن SmartArt
يرجى الملاحظة: طريقة SmartArtNode::isHidden() تُعيد true إذا كانت هذه العقدة عقدة مخفية في نموذج البيانات. من أجل التحقق من الخاصية المخفية لأي عقدة من SmartArt، يرجى اتباع الخطوات التالية:
- إنشاء مثيل من فئة Presentation .
- إضافة SmartArt RadialCycle.
- إضافة عقدة إلى SmartArt.
- التحقق من خاصية visibility.
- حفظ العرض التقديمي كملف PPTX. في المثال الموضح أدناه، قمنا بإضافة موصل بين شكلين.
$pres = new Presentation();
try {
# إضافة SmartArt BasicProcess
$smart = $pres->getSlides()->get_Item(0)->getShapes()->addSmartArt(10, 10, 400, 300, SmartArtLayoutType::RadialCycle);
# إضافة عقدة على SmartArt
$node = $smart->getAllNodes()->addNode();
# التحقق من الخاصية isHidden
$hidden = $node->isHidden();// يعيد true
if ($hidden) {
# تنفيذ بعض الإجراءات أو الإشعارات
}
# حفظ العرض التقديمي
$pres->save("CheckSmartArtHiddenProperty_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الحصول أو تعيين نوع مخطط التنظيم
تسمح الطريقتان SmartArtNode::getOrganizationChartLayout() و SmartArtNode::setOrganizationChartLayout(int) بالحصول أو تعيين نوع مخطط التنظيم المرتبط بالعقدة الحالية. من أجل الحصول أو تعيين نوع مخطط التنظيم، يرجى اتباع الخطوات التالية:
- إنشاء مثيل من فئة Presentation .
- إضافة SmartArt إلى الشريحة.
- الحصول أو تعيين نوع مخطط التنظيم.
- حفظ العرض التقديمي كملف PPTX. في المثال الموضح أدناه، قمنا بإضافة موصل بين شكلين.
$pres = new Presentation();
try {
# إضافة SmartArt BasicProcess
$smart = $pres->getSlides()->get_Item(0)->getShapes()->addSmartArt(10, 10, 400, 300, SmartArtLayoutType::OrganizationChart);
# الحصول أو تعيين نوع مخطط التنظيم
$smart->getNodes()->get_Item(0)->setOrganizationChartLayout(OrganizationChartLayoutType::LeftHanging);
# حفظ العرض التقديمي
$pres->save("OrganizeChartLayoutType_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
إنشاء مخطط تنظيم صورة
توفر Aspose.Slides for PHP عبر Java واجهة برمجة تطبيقات بسيطة لإنشاء مخططات PictureOrganization بسهولة. لإنشاء مخطط على شريحة:
- إنشاء مثيل من فئة Presentation .
- الحصول على مرجع الشريحة بواسطة فهرستها.
- إضافة مخطط ببيانات افتراضية مع النوع المطلوب (ChartType::PictureOrganizationChart).
- حفظ العرض التقديمي المعدل كملف PPTX الكود التالي يُستخدم لإنشاء مخطط.
$pres = new Presentation("test.pptx");
try {
$smartArt = $pres->getSlides()->get_Item(0)->getShapes()->addSmartArt(0, 0, 400, 400, SmartArtLayoutType::PictureOrganizationChart);
$pres->save("OrganizationChart.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الحصول أو تعيين حالة SmartArt
من أجل تغيير نوع التخطيط لـ SmartArt. يرجى اتباع الخطوات التالية:
- إنشاء مثيل من فئة Presentation .
- إضافة SmartArt إلى الشريحة.
- Get أو Set حالة مخطط SmartArt.
- حفظ العرض التقديمي كملف PPTX. الكود التالي يُستخدم لإنشاء مخطط.
# إنشاء كائن من الفئة Presentation التي تمثل ملف PPTX
$pres = new Presentation();
try {
# إضافة SmartArt BasicProcess
$smart = $pres->getSlides()->get_Item(0)->getShapes()->addSmartArt(10, 10, 400, 300, SmartArtLayoutType::BasicProcess);
# الحصول على أو تعيين حالة مخطط SmartArt
$smart->setReversed(true);
$flag = $smart->isReversed();
# حفظ العرض التقديمي
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الأسئلة الشائعة
هل يدعم SmartArt العكس/الانعكاس للغات من اليمين إلى اليسار؟
نعم. طريقة setReversed تقوم بتبديل اتجاه المخطط (LTR/RTL) إذا كان نوع SmartArt المحدد يدعم العكس.
كيف يمكنني نسخ SmartArt إلى نفس الشريحة أو إلى عرض تقديمي آخر مع الحفاظ على التنسيق؟
يمكنك استنساخ شكل SmartArt عبر مجموعة الأشكال (ShapeCollection::addClone) أو استنساخ الشريحة بالكامل التي تحتوي على هذا الشكل. كلا الطريقتين تحتفظ بالحجم والموقع والتنسيق.
كيف أقوم بتحويل SmartArt إلى صورة نقطية للمعاينة أو التصدير إلى الويب؟
يمكنك تحويل الشريحة (أو العرض التقديمي بأكمله) إلى PNG/JPEG عبر API يحول الشرائح/العروض إلى صور — سيُرسم SmartArt كجزء من الشريحة.
كيف يمكنني برمجياً اختيار SmartArt معين على شريحة إذا كان هناك عدة عناصر؟
ممارسة شائعة هي استخدام النص البديل (Alt Text) أو الاسم والبحث عن الشكل باستخدام تلك السمة ضمن أشكال الشريحة، ثم التحقق من النوع للتأكد من أنه SmartArt. يصف التوثيق تقنيات شائعة للعثور على الأشكال والعمل معها.