إدارة انتقالات الشرائح في العروض التقديمية باستخدام Java
نظرة عامة
لتسهيل الفهم، قمنا بتوضيح كيفية استخدام Aspose.Slides for Java لإدارة انتقالات الشرائح البسيطة. يمكن للمطورين ليس فقط تطبيق مؤثرات انتقال مختلفة على الشرائح، بل أيضًا تخصيص سلوك هذه المؤثرات.
إضافة انتقال شريحة
لإنشاء مؤثر انتقال شريحة بسيط، اتبع الخطوات أدناه:
- إنشاء نسخة من فئة Presentation .
- تطبيق نوع انتقال شريحة على الشريحة من أحد مؤثرات الانتقال التي تقدمها Aspose.Slides for Java عبر تعداد TransitionType.
- كتابة ملف العرض التقديمي المعدل.
// إنشاء كائن من فئة Presentation لتحميل ملف العرض التقديمي المصدر
Presentation presentation = new Presentation("AccessSlides.pptx");
try {
// تطبيق انتقال من نوع دائرة على الشريحة 1
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(TransitionType.Circle);
// تطبيق انتقال من نوع مشط على الشريحة 2
presentation.getSlides().get_Item(1).getSlideShowTransition().setType(TransitionType.Comb);
// حفظ العرض على القرص
presentation.save("SampleTransition_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
إضافة انتقال شريحة متقدم
في القسم السابق، قمنا فقط بتطبيق مؤثر انتقال بسيط على الشريحة. الآن، لجعل هذا المؤثر أبسط وأكثر تحكمًا، يرجى اتباع الخطوات أدناه:
- إنشاء نسخة من فئة Presentation .
- تطبيق نوع انتقال شريحة على الشريحة من أحد مؤثرات الانتقال التي تقدمها Aspose.Slides for Java.
- يمكنك أيضًا ضبط الانتقال على التقدم عند النقر، بعد فترة زمنية محددة أو كليهما.
- إذا تم تمكين الانتقال للتقدم عند النقر، سيُقدم الانتقال فقط عندما ينقر المستخدم بالماوس. علاوةً على ذلك، إذا تم ضبط خاصية Advance After Time، سيتقدم الانتقال تلقائيًا بعد مرور الوقت المحدد.
- كتابة العرض التقديمي المعدل كملف عرض تقديمي.
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي
Presentation pres = new Presentation("BetterSlideTransitions.pptx");
try {
// تطبيق انتقال من نوع دائرة على الشريحة 1
pres.getSlides().get_Item(0).getSlideShowTransition().setType(TransitionType.Circle);
// تعيين وقت الانتقال إلى 3 ثوانٍ
pres.getSlides().get_Item(0).getSlideShowTransition().setAdvanceOnClick(true);
pres.getSlides().get_Item(0).getSlideShowTransition().setAdvanceAfterTime(3000);
// تطبيق انتقال من نوع مشط على الشريحة 2
pres.getSlides().get_Item(1).getSlideShowTransition().setType(TransitionType.Comb);
// تعيين وقت الانتقال إلى 5 ثوانٍ
pres.getSlides().get_Item(1).getSlideShowTransition().setAdvanceOnClick(true);
pres.getSlides().get_Item(1).getSlideShowTransition().setAdvanceAfterTime(5000);
// تطبيق انتقال من نوع تكبير على الشريحة 3
pres.getSlides().get_Item(2).getSlideShowTransition().setType(TransitionType.Zoom);
// تعيين وقت الانتقال إلى 7 ثوانٍ
pres.getSlides().get_Item(2).getSlideShowTransition().setAdvanceOnClick(true);
pres.getSlides().get_Item(2).getSlideShowTransition().setAdvanceAfterTime(7000);
// حفظ العرض التقديمي على القرص
pres.save("SampleTransition_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
انتقال Morph
يسمح لك انتقال Morph بإنشاء حركة سلسة من شريحة إلى أخرى. يصف هذا المقال المفهوم وكيفية استخدام انتقال Morph. لاستخدام انتقال Morph بفعالية، ستحتاج إلى شريحتين على الأقل تشتركان في كائن واحد. أسهل طريقة هي تكرار الشريحة ثم نقل الكائن في الشريحة الثانية إلى مكان مختلف.
المقتطف البرمجي التالي يوضح كيفية إضافة نسخة من الشريحة تحتوي على نص إلى العرض التقديمي وتعيين انتقال من نوع morph type إلى الشريحة الثانية.
Presentation presentation = new Presentation();
try {
AutoShape autoshape = (AutoShape)presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 100, 100, 400, 100);
autoshape.getTextFrame().setText("Morph Transition in PowerPoint Presentations");
presentation.getSlides().addClone(presentation.getSlides().get_Item(0));
IShape shape = presentation.getSlides().get_Item(1).getShapes().get_Item(0);
shape.setX(shape.getX() + 100);
shape.setY(shape.getY() + 50);
shape.setWidth(shape.getWidth() - 200);
shape.setHeight(shape.getHeight() - 10);
presentation.getSlides().get_Item(1).getSlideShowTransition().setType(com.aspose.slides.TransitionType.Morph);
presentation.save("presentation-out.pptx", SaveFormat.Pptx);
}
finally {
presentation.dispose();
}
أنواع انتقال Morph
تم إضافة تعداد جديد TransitionMorphType يمثل أنواعًا مختلفة من انتقال شريحة Morph.
يحتوي تعداد TransitionMorphType على ثلاثة أعضاء:
- ByObject: سيتم تنفيذ انتقال Morph مع اعتبار الأشكال ككائنات غير قابلة للتجزئة.
- ByWord: سيتم تنفيذ انتقال Morph بنقل النص كلمةً كلمةً حيثما أمكن.
- ByChar: سيتم تنفيذ انتقال Morph بنقل النص حرفًا بحرفٍ حيثما أمكن.
المقتطف البرمجي التالي يوضح كيفية تعيين انتقال Morph إلى الشريحة وتغيير نوع Morph:
Presentation presentation = new Presentation("presentation.pptx");
try {
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(TransitionType.Morph);
((IMorphTransition)presentation.getSlides().get_Item(0).getSlideShowTransition().getValue()).setMorphType(TransitionMorphType.ByWord);
presentation.save("presentation-out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
تعيين مؤثرات الانتقال
يدعم Aspose.Slides for Java تعيين مؤثرات الانتقال مثل من الأسود، من اليسار، من اليمين، إلخ. لتعيين مؤثر الانتقال، يرجى اتباع الخطوات أدناه:
- إنشاء نسخة من فئة Presentation .
- الحصول على مرجع الشريحة.
- ضبط مؤثر الانتقال.
- كتابة العرض التقديمي كملف PPTX .
في المثال المرفق أدناه، قمنا بتعيين مؤثرات الانتقال.
// إنشاء كائن من فئة Presentation
Presentation presentation = new Presentation("AccessSlides.pptx");
try {
// تعيين التأثير
presentation.getSlides().get_Item(0).getSlideShowTransition().setType(TransitionType.Cut);
((OptionalBlackTransition)presentation.getSlides().get_Item(0).getSlideShowTransition().getValue()).setFromBlack(true);
// حفظ العرض التقديمي على القرص
presentation.save("SetTransitionEffects_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
الأسئلة الشائعة
هل يمكنني التحكم في سرعة تشغيل انتقال الشريحة؟
نعم. اضبط speed للانتقال باستخدام إعداد TransitionSpeed (مثلًا، بطيء/متوسط/سريع).
هل يمكنني إرفاق صوت بالانتقال وجعله يتكرر؟
نعم. يمكنك تضمين صوت للانتقال والتحكم في سلوكه عبر إعدادات مثل وضع الصوت والتكرار (مثلًا، setSound, setSoundMode, setSoundLoop، بالإضافة إلى بيانات وصفية مثل setSoundIsBuiltIn و setSoundName).
ما أسرع طريقة لتطبيق نفس الانتقال على كل شريحة؟
قم بتهيئة نوع الانتقال المطلوب في إعدادات انتقال كل شريحة؛ فالتغييرات تُحفظ لكل شريحة على حدة، لذا تطبيق نفس النوع على جميع الشرائح يعطي نتيجة موحدة.
كيف يمكنني التحقق من أي انتقال مُعين حاليًا على شريحة؟
اطلع على إعدادات الانتقال الخاصة بالشريحة واقرأ نوع الانتقال؛ هذه القيمة تُظهر لك بالضبط أي مؤثر تم تطبيقه.