إدارة رسومات SmartArt في العروض التقديمية باستخدام PHP
إنشاء شكل SmartArt
Aspose.Slides for PHP via Java يوفر API لإنشاء أشكال SmartArt. لإنشاء شكل SmartArt في شريحة، يرجى اتباع الخطوات التالية:
- إنشاء نسخة من الفئة Presentation .
- الحصول على مرجع الشريحة باستخدام رقم الفهرس الخاص بها.
- إضافة شكل SmartArt عن طريق تعيين LayoutType لها.
- حفظ العرض التقديمي المعدل كملف PPTX.
# إنشاء فئة Presentation
$pres = new Presentation();
try {
# الحصول على الشريحة الأولى
$slide = $pres->getSlides()->get_Item(0);
# إضافة شكل Smart Art
$smart = $slide->getShapes()->addSmartArt(0, 0, 400, 400, SmartArtLayoutType::BasicBlockList);
# حفظ العرض التقديمي
$pres->save("SimpleSmartArt.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
![]() |
|---|
| الشكل: تم إضافة شكل SmartArt إلى الشريحة |
الوصول إلى شكل SmartArt على شريحة
سيتم استخدام الشيفرة التالية للوصول إلى أشكال SmartArt المضافة في شريحة العرض التقديمي. في الشيفرة النموذجية سنقوم بتصفح كل شكل داخل الشريحة والتحقق مما إذا كان شكلًا من SmartArt. إذا كان الشكل من نوع SmartArt فسنقوم بتحويله إلى نسخة من SmartArt.
# تحميل العرض التقديمي المطلوب
$pres = new Presentation("AccessSmartArtShape.pptx");
try {
# تجول عبر كل شكل داخل الشريحة الأولى
foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
# التحقق مما إذا كان الشكل من نوع SmartArt
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# تحويل نوع الشكل إلى SmartArtEx
$smart = $shape;
echo("Shape Name:" . $smart->getName());
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الوصول إلى شكل SmartArt بنوع تخطيط محدد
سيساعدك الشيفرة النموذجية التالية على الوصول إلى شكل SmartArt بنوع LayoutType معين. يرجى ملاحظة أنه لا يمكنك تغيير LayoutType لـ SmartArt لأنه للقراءة فقط ويتم تعيينه فقط عند إضافة شكل SmartArt.
- إنشاء نسخة من الفئة Presentation وتحميل العرض التقديمي الذي يحتوي على شكل SmartArt.
- الحصول على مرجع الشريحة الأولى باستخدام رقم الفهرس الخاص بها.
- تصفح كل شكل داخل الشريحة الأولى.
- التحقق مما إذا كان الشكل من نوع SmartArt وتحويل الشكل المحدد إلى SmartArt إذا كان كذلك.
- التحقق من شكل SmartArt بنوع LayoutType معين وتنفيذ ما يلزم بعد ذلك.
$pres = new Presentation("AccessSmartArtShape.pptx");
try {
# التجول عبر كل شكل داخل الشريحة الأولى
foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
# التحقق مما إذا كان الشكل من نوع SmartArt
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# تحويل نوع الشكل إلى SmartArtEx
$smart = $shape;
# التحقق من تخطيط SmartArt
if ($smart->getLayout() == SmartArtLayoutType::BasicBlockList) {
echo("Do some thing here....");
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تغيير نمط شكل SmartArt
في هذا المثال، سنتعلم كيفية تغيير النمط السريع لأي شكل SmartArt.
- إنشاء نسخة من الفئة Presentation وتحميل العرض التقديمي الذي يحتوي على شكل SmartArt.
- الحصول على مرجع الشريحة الأولى باستخدام رقم الفهرس الخاص بها.
- تصفح كل شكل داخل الشريحة الأولى.
- التحقق مما إذا كان الشكل من نوع SmartArt وتحويل الشكل المحدد إلى SmartArt إذا كان كذلك.
- العثور على شكل SmartArt بنمط معين.
- تعيين النمط الجديد لشكل SmartArt.
- حفظ العرض التقديمي.
# إنشاء فئة Presentation
$pres = new Presentation("SimpleSmartArt.pptx");
try {
# الحصول على الشريحة الأولى
$slide = $pres->getSlides()->get_Item(0);
# التجول عبر كل شكل داخل الشريحة الأولى
foreach($slide->getShapes() as $shape) {
# التحقق مما إذا كان الشكل من نوع SmartArt
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# تحويل نوع الشكل إلى SmartArtEx
$smart = $shape;
# التحقق من نمط SmartArt
if ($smart->getQuickStyle() == SmartArtQuickStyleType::SimpleFill) {
# تغيير نمط SmartArt
$smart->setQuickStyle(SmartArtQuickStyleType::Cartoon);
}
}
}
# حفظ العرض التقديمي
$pres->save("ChangeSmartArtStyle.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
![]() |
|---|
| الشكل: شكل SmartArt مع نمط معدل |
تغيير نمط لون شكل SmartArt
في هذا المثال، سنتعلم كيفية تغيير نمط اللون لأي شكل SmartArt. ستقوم الشيفرة النموذجية التالية بالوصول إلى شكل SmartArt بنمط لون معين وتغيير نمطه.
- إنشاء نسخة من الفئة Presentation وتحميل العرض التقديمي الذي يحتوي على شكل SmartArt.
- الحصول على مرجع الشريحة الأولى باستخدام رقم الفهرس الخاص بها.
- تصفح كل شكل داخل الشريحة الأولى.
- التحقق مما إذا كان الشكل من نوع SmartArt وتحويل الشكل المحدد إلى SmartArt إذا كان كذلك.
- العثور على شكل SmartArt بنمط لون معين.
- تعيين نمط اللون الجديد لشكل SmartArt.
- حفظ العرض التقديمي.
# إنشاء فئة Presentation
$pres = new Presentation("SimpleSmartArt.pptx");
try {
# الحصول على الشريحة الأولى
$slide = $pres->getSlides()->get_Item(0);
# التجول عبر كل شكل داخل الشريحة الأولى
foreach($slide->getShapes() as $shape) {
# التحقق مما إذا كان الشكل من نوع SmartArt
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# تحويل نوع الشكل إلى SmartArtEx
$smart = $shape;
# التحقق من نوع لون SmartArt
if ($smart->getColorStyle() == SmartArtColorType::ColoredFillAccent1) {
# تغيير نوع لون SmartArt
$smart->setColorStyle(SmartArtColorType::ColorfulAccentColors);
}
}
}
# حفظ العرض التقديمي
$pres->save("ChangeSmartArtColorStyle.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
![]() |
|---|
| الشكل: شكل SmartArt مع نمط لون معدل |
FAQ
هل يمكنني تحريك SmartArt ككائن واحد؟
نعم. SmartArt هو شكل، لذا يمكنك تطبيق الرسوم المتحركة القياسية عبر API الرسوم المتحركة (الدخول، الخروج، التأكيد، مسارات الحركة) مثل باقي الأشكال.
كيف يمكنني العثور على SmartArt معين في شريحة إذا لم أعرف معرّفه الداخلي؟
قم بتعيين واستخدام النص البديل (AltText) وابحث عن الشكل باستخدام تلك القيمة—هذه طريقة موصى بها لتحديد الشكل المستهدف.
هل يمكنني تجميع SmartArt مع أشكال أخرى؟
نعم. يمكنك تجميع SmartArt مع أشكال أخرى (صور، جداول، إلخ) ثم معالجة المجموعة.
كيف أحصل على صورة لـ SmartArt محدد (مثلاً للمعاينة أو التقرير)؟
قم بتصدير صورة مصغرة/صورة للشكل؛ يمكن للمكتبة إنشاء صورة مصغرة للشكل إلى ملفات نقطية (PNG/JPG/TIFF).
هل سيبقى مظهر SmartArt محفوظًا عند تحويل العرض التقديمي بالكامل إلى PDF؟
نعم. تستهدف محرك العرض الدقة العالية عند تصدير PDF، مع مجموعة من الخيارات للجودة والتوافق.

