تحريك مخططات PowerPoint في PHP
تحريك سلسلة المخطط
إذا كنت تريد تحريك سلسلة مخطط، اكتب الكود وفقًا للخطوات المذكورة أدناه:
- تحميل عرض تقديمي.
- الحصول على مرجع كائن المخطط.
- تحريك السلسلة.
- كتابة ملف العرض التقديمي إلى القرص.
في المثال التالي، قمنا بتحريك سلسلة المخطط.
# إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي
$pres = new Presentation("ExistingChart.pptx");
try {
# الحصول على مرجع كائن المخطط
$slide = $pres->getSlides()->get_Item(0);
$shapes = $slide->getShapes();
$chart = $shapes->get_Item(0);
# تحريك السلسلة
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectType::Fade, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::BySeries, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::BySeries, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::BySeries, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::BySeries, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
# كتابة العرض التقديمي المعدل إلى القرص
$pres->save("AnimatingSeries_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تحريك فئة المخطط
إذا كنت تريد تحريك فئة مخطط، اكتب الكود وفقًا للخطوات المذكورة أدناه:
- تحميل عرض تقديمي.
- الحصول على مرجع كائن المخطط.
- تحريك الفئة.
- كتابة ملف العرض التقديمي إلى القرص.
في المثال التالي، قمنا بتحريك فئة المخطط.
# إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي
$pres = new Presentation("ExistingChart.pptx");
try {
$slide = $pres->getSlides()->get_Item(0);
$shapes = $slide->getShapes();
$chart = $shapes->get_Item(0);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectType::Fade, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::ByCategory, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::ByCategory, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::ByCategory, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMajorGroupingType::ByCategory, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$pres->save("Sample_Animation_C.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تحريك عنصر من السلسلة
إذا كنت تريد تحريك عناصر السلسلة، اكتب الكود وفقًا للخطوات المذكورة أدناه:
- تحميل عرض تقديمي.
- الحصول على مرجع كائن المخطط.
- تحريك عناصر السلسلة.
- كتابة ملف العرض التقديمي إلى القرص.
في المثال التالي، لقد قمنا بتحريك عناصر السلسلة.
# إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي
$pres = new Presentation("ExistingChart.pptx");
try {
# الحصول على مرجع كائن المخطط
$slide = $pres->getSlides()->get_Item(0);
$shapes = $slide->getShapes();
$chart = $shapes->get_Item(0);
# تحريك عناصر السلسلة
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectType::Fade, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 0, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 0, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 0, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 0, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 1, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 1, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 1, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 1, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 2, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 2, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 2, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInSeries, 2, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
# كتابة ملف العرض التقديمي إلى القرص
$pres->save("AnimatingSeriesElements_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تحريك عنصر من الفئة
إذا كنت تريد تحريك عناصر الفئات، اكتب الكود وفقًا للخطوات المذكورة أدناه:
- تحميل عرض تقديمي.
- الحصول على مرجع كائن المخطط.
- تحريك عناصر الفئات.
- كتابة ملف العرض التقديمي إلى القرص.
في المثال التالي، لقد قمنا بتحريك عناصر الفئات.
# إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي
$pres = new Presentation("ExistingChart.pptx");
try {
# الحصول على مرجع كائن المخطط
$slide = $pres->getSlides()->get_Item(0);
$shapes = $slide->getShapes();
$chart = $shapes->get_Item(0);
# تحريك عناصر الفئات
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectType::Fade, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 0, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 0, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 0, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 0, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 1, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 1, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 1, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 1, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 2, 0, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 2, 1, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 2, 2, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
$slide->getTimeline()->getMainSequence()->addEffect($chart, EffectChartMinorGroupingType::ByElementInCategory, 2, 3, EffectType::Appear, EffectSubType::None, EffectTriggerType::AfterPrevious);
# كتابة ملف العرض التقديمي إلى القرص
$pres->save("AnimatingCategoriesElements_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الأسئلة الشائعة
هل يتم دعم أنواع التأثير المختلفة (مثل دخول، تأكيد، خروج) للمخطط كما هو الحال مع الأشكال العادية؟
نعم. يتم اعتبار المخطط ككائن شكل، وبالتالي يدعم أنواع التأثير القياسية للرسوم المتحركة، بما في ذلك الدخول، والتأكيد، والخروج، مع التحكم الكامل عبر جدول زمني للشرائح وتسلسلات الرسوم المتحركة.
هل يمكنني دمج تحريك المخطط مع انتقالات الشرائح؟
نعم. الانتقالات تُطبق على الشريحة، بينما تُطبق تأثيرات التحريك على الكائنات داخل الشريحة. يمكنك استخدامهما معًا في نفس العرض التقديمي والتحكم فيهما بشكل مستقل.
هل يتم الحفاظ على تحركات المخطط عند الحفظ إلى PPTX؟
نعم. عندما تقوم بـحفظ إلى PPTX، يتم الحفاظ على جميع تأثيرات التحريك وتتابعها لأنّها جزء من نموذج التحريك الأصلي للعرض التقديمي.
هل يمكنني قراءة تحركات المخطط الحالية من عرض تقديمي وتعديلها؟
نعم. توفر API إمكانية الوصول إلى الجدول الزمني للشرائح، والتسلسلات، والتأثيرات، مما يتيح لك فحص تحركات المخطط الحالية وتعديلها دون الحاجة إلى إعادة إنشاء كل شيء من الصفر.
هل يمكنني إنتاج فيديو يتضمن تحركات المخطط باستخدام Aspose.Slides؟
نعم. يمكنك تصدير العرض التقديمي إلى فيديو مع الحفاظ على التحريكات، وتكوين التوقيتات وغيرها من إعدادات التصدير بحيث يعكس المقطع الناتج تشغيل الرسوم المتحركة.