Animasi Teks PowerPoint di PHP
Ikhtisar
Artikel ini menjelaskan cara bekerja dengan teks beranimasi di Aspose.Slides dengan menerapkan efek animasi pada paragraf individu dan mengambil efek yang sudah ditetapkan pada paragraf dalam bingkai teks. Fokusnya adalah pada metode API yang digunakan untuk menambahkan animasi tingkat paragraf dan memeriksa efek animasi paragraf yang ada dalam sebuah presentasi.
Menambahkan Efek Animasi ke Paragraf
Kami menambahkan metode addEffect() ke kelas Sequence. Metode ini memungkinkan Anda menambahkan efek animasi ke satu paragraf. Kode contoh berikut menunjukkan cara menambahkan efek animasi ke satu paragraf:
$presentation = new Presentation("Presentation.pptx");
try {
# pilih paragraf untuk menambahkan efek
$autoShape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$paragraph = $autoShape->getTextFrame()->getParagraphs()->get_Item(0);
# tambahkan efek animasi Fly ke paragraf yang dipilih
$effect = $presentation->getSlides()->get_Item(0)->getTimeline()->getMainSequence()->addEffect($paragraph, EffectType::Fly, EffectSubType::Left, EffectTriggerType::OnClick);
$presentation->save("AnimationEffectinParagraph.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Mendapatkan Efek Animasi Paragraf
Anda mungkin ingin mengetahui efek animasi yang ditambahkan ke sebuah paragraf—misalnya, dalam satu skenario, Anda ingin mengambil efek animasi dalam sebuah paragraf karena berencana menerapkan efek tersebut ke paragraf atau bentuk lain.
Aspose.Slides untuk PHP via Java memungkinkan Anda mendapatkan semua efek animasi yang diterapkan pada paragraf yang terdapat dalam bingkai teks (shape). Kode contoh berikut menunjukkan cara mendapatkan efek animasi dalam sebuah paragraf:
$pres = new Presentation("Presentation.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
$sequence = $pres->getSlides()->get_Item(0)->getTimeline()->getMainSequence();
$autoShape = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
foreach($autoShape->getTextFrame()->getParagraphs() as $paragraph) {
$effects = $sequence->getEffectsByParagraph($paragraph);
if (java_values($Array->getLength($effects)) > 0) {
echo("Paragraph \"" . $paragraph->getText() . "\" has " . $effects[0]->getType() . " effect.");
}
}
} finally {
$pres->dispose();
}
FAQ
Bagaimana perbedaan animasi teks dengan transisi slide, dan dapatkah keduanya digabungkan?
Animasi teks mengontrol perilaku objek seiring waktu pada slide, sementara transitions mengontrol cara pergantian slide. Kedua hal ini bersifat independen dan dapat digunakan bersama; urutan pemutaran diatur oleh garis waktu animasi dan pengaturan transisi.
Apakah animasi teks tetap dipertahankan saat mengekspor ke PDF atau gambar?
Tidak. PDF dan gambar raster bersifat statis, sehingga Anda hanya melihat satu kondisi slide tanpa gerakan. Untuk mempertahankan gerakan, gunakan ekspor video atau HTML.
Apakah animasi teks berfungsi di tata letak dan master slide?
Efek yang diterapkan pada objek layout/master diwariskan ke slide, tetapi timing dan interaksinya dengan animasi tingkat slide bergantung pada urutan akhir pada slide.