จัดการการซูมของงานนำเสนอใน PHP
บทนำ
Zoom ใน PowerPoint ช่วยให้คุณกระโดดไปและมาจากสไลด์, ส่วน, และส่วนย่อยของการนำเสนอได้ เมื่อคุณกำลังนำเสนอ ความสามารถนี้ในการนำทางอย่างรวดเร็วผ่านเนื้อหาอาจมีประโยชน์อย่างมาก

- เพื่อสรุปการนำเสนอทั้งหมดในสไลด์เดียว, ใช้ Summary Zoom.
- หากต้องการแสดงเฉพาะสไลด์ที่เลือก, ใช้ Slide Zoom.
- หากต้องการแสดงเฉพาะส่วนเดียว, ใช้ Section Zoom.
Slide Zoom
Zoom สไลด์สามารถทำให้การนำเสนอของคุณมีความไดนามิกมากขึ้น, โดยให้คุณนำทางระหว่างสไลด์ได้อย่างอิสระในลำดับใดก็ได้โดยไม่ทำลายการไหลของการนำเสนอ Zoom สไลด์เหมาะสำหรับการนำเสนอสั้น ๆ ที่ไม่มีหลายส่วน, แต่คุณก็ยังสามารถใช้ในสถานการณ์การนำเสนออื่น ๆ ได้
Zoom สไลด์ช่วยให้คุณเจาะลึกข้อมูลหลายชิ้นในขณะที่รู้สึกเหมือนอยู่บนผืนผ้าใบเดียว

สำหรับวัตถุ Zoom สไลด์, Aspose.Slides มี enumeration ZoomImageType(ลิงก์), คลาส ZoomFrame(ลิงก์) และเมธอดบางอย่างในคลาส ShapeCollection(ลิงก์)
สร้าง Zoom Frame
คุณสามารถเพิ่ม Zoom Frame บนสไลด์ได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่ที่คุณต้องการเชื่อมต่อกับ Zoom Frame.
- เพิ่มข้อความระบุตัวและพื้นหลังให้กับสไลด์ที่สร้าง.
- เพิ่ม Zoom Frame (ซึ่งอ้างอิงสไลด์ที่สร้าง) ไปยังสไลด์แรก.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีสร้าง Zoom Frame บนสไลด์:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide2 = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide3 = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
# สร้างพื้นหลังสำหรับสไลด์ที่สอง
$slide2->getBackground()->setType(BackgroundType::OwnBackground);
$slide2->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide2->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->cyan);
# สร้างกล่องข้อความสำหรับสไลด์ที่สอง
$autoshape = $slide2->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 200, 500, 200);
$autoshape->getTextFrame()->setText("Second Slide");
# สร้างพื้นหลังสำหรับสไลด์ที่สาม
$slide3->getBackground()->setType(BackgroundType::OwnBackground);
$slide3->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide3->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->darkGray);
# สร้างกล่องข้อความสำหรับสไลด์ที่สาม
$autoshape = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 200, 500, 200);
$autoshape->getTextFrame()->setText("Trird Slide");
# เพิ่มอ็อบเจ็กต์ ZoomFrame
$pres->getSlides()->get_Item(0)->getShapes()->addZoomFrame(20, 20, 250, 200, $slide2);
$pres->getSlides()->get_Item(0)->getShapes()->addZoomFrame(200, 250, 250, 200, $slide3);
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
สร้าง Zoom Frame ด้วยภาพกำหนดเอง
ด้วย Aspose.Slides for PHP via Java, คุณสามารถสร้าง Zoom Frame ที่มีภาพตัวอย่างสไลด์แตกต่างกันได้โดยทำดังนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่ที่คุณต้องการเชื่อมต่อกับ Zoom Frame.
- เพิ่มข้อความระบุตัวและพื้นหลังให้กับสไลด์.
- สร้างอ็อบเจ็กต์ PPImage(ลิงก์) โดยเพิ่มภาพลงในคอลเลกชัน Images ของอ็อบเจ็กต์ Presentation ที่จะใช้เติมกรอบ.
- เพิ่ม Zoom Frame (ซึ่งอ้างอิงสไลด์ที่สร้าง) ไปยังสไลด์แรก.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีสร้าง Zoom Frame ด้วยภาพกำหนดเอง:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
# สร้างพื้นหลังสำหรับสไลด์ที่สอง
$slide->getBackground()->setType(BackgroundType::OwnBackground);
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->cyan);
# สร้างกล่องข้อความสำหรับสไลด์ที่สาม
$autoshape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 200, 500, 200);
$autoshape->getTextFrame()->setText("Second Slide");
# สร้างภาพใหม่สำหรับอ็อบเจ็กต์ซูม
$picture;
$image = Images->fromFile("image.png");
try {
$picture = $pres->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
# เพิ่มอ็อบเจ็กต์ ZoomFrame
$pres->getSlides()->get_Item(0)->getShapes()->addZoomFrame(20, 20, 300, 200, $slide, $picture);
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
ฟอร์แมต Zoom Frame
ในส่วนก่อนหน้า เราได้แสดงวิธีสร้าง Zoom Frame อย่างง่าย. เพื่อสร้าง Zoom Frame ที่ซับซ้อนมากขึ้น, คุณต้องปรับเปลี่ยนการฟอร์แมตของเฟรมอย่างง่าย. มีตัวเลือกการฟอร์แมตหลายอย่างที่คุณสามารถใช้กับ Zoom Frame.
คุณสามารถควบคุมการฟอร์แมตของ Zoom Frame บนสไลด์ได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่ที่คุณต้องการเชื่อมต่อกับ Zoom Frame.
- เพิ่มข้อความระบุตัวและพื้นหลังให้กับสไลด์ที่สร้าง.
- เพิ่ม Zoom Frame (ซึ่งอ้างอิงสไลด์ที่สร้าง) ไปยังสไลด์แรก.
- สร้างอ็อบเจ็กต์ PPImage(ลิงก์) โดยเพิ่มภาพลงในคอลเลกชัน Images ของอ็อบเจ็กต์ Presentation ที่จะใช้เติมกรอบ.
- ตั้งค่าภาพกำหนดเองสำหรับอ็อบเจ็กต์ Zoom Frame แรก.
- เปลี่ยนรูปแบบเส้นสำหรับอ็อบเจ็กต์ Zoom Frame ที่สอง.
- ลบพื้นหลังจากภาพของอ็อบเจ็กต์ Zoom Frame ที่สอง.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีเปลี่ยนการฟอร์แมตของ Zoom Frame บนสไลด์:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide2 = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide3 = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
# สร้างพื้นหลังสำหรับสไลด์ที่สอง
$slide2->getBackground()->setType(BackgroundType::OwnBackground);
$slide2->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide2->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->cyan);
# สร้างกล่องข้อความสำหรับสไลด์ที่สอง
$autoshape = $slide2->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 200, 500, 200);
$autoshape->getTextFrame()->setText("Second Slide");
# สร้างพื้นหลังสำหรับสไลด์ที่สาม
$slide3->getBackground()->setType(BackgroundType::OwnBackground);
$slide3->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide3->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->darkGray);
# สร้างกล่องข้อความสำหรับสไลด์ที่สาม
$autoshape = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 200, 500, 200);
$autoshape->getTextFrame()->setText("Trird Slide");
# เพิ่มอ็อบเจ็กต์ ZoomFrame
$zoomFrame1 = $pres->getSlides()->get_Item(0)->getShapes()->addZoomFrame(20, 20, 250, 200, $slide2);
$zoomFrame2 = $pres->getSlides()->get_Item(0)->getShapes()->addZoomFrame(200, 250, 250, 200, $slide3);
# สร้างภาพใหม่สำหรับอ็อบเจ็กต์ซูม
$picture;
$image = Images->fromFile("image.png");
try {
$picture = $pres->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
# ตั้งค่าภาพกำหนดเองสำหรับอ็อบเจ็กต์ zoomFrame1
$zoomFrame1->setImage($picture);
# ตั้งค่ารูปแบบเฟรมซูมสำหรับอ็อบเจ็กต์ zoomFrame2
$zoomFrame2->getLineFormat()->setWidth(5);
$zoomFrame2->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$zoomFrame2->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->pink);
$zoomFrame2->getLineFormat()->setDashStyle(LineDashStyle->DashDot);
# การตั้งค่าสำหรับไม่แสดงพื้นหลังสำหรับอ็อบเจ็กต์ zoomFrame2
$zoomFrame2->setShowBackground(false);
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Section Zoom
Section Zoom คือการเชื่อมโยงไปยังส่วนในการนำเสนอของคุณ. คุณสามารถใช้ Section Zoom เพื่อกลับไปที่ส่วนที่ต้องการเน้นจริง ๆ หรือใช้เพื่อแสดงให้เห็นว่าชิ้นส่วนต่าง ๆ ของการนำเสนอของคุณเชื่อมต่อกันอย่างไร.

สำหรับวัตถุ Section Zoom, Aspose.Slides มีคลาส SectionZoomFrame(ลิงก์) และเมธอดบางอย่างในคลาส ShapeCollection(ลิงก์)
สร้าง Section Zoom Frame
คุณสามารถเพิ่ม Section Zoom Frame ไปยังสไลด์ได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่.
- เพิ่มพื้นหลังระบุตัวให้กับสไลด์ที่สร้าง.
- สร้างส่วนใหม่ที่คุณต้องการเชื่อมต่อกับ Zoom Frame.
- เพิ่ม Section Zoom Frame (ซึ่งอ้างอิงส่วนที่สร้าง) ไปยังสไลด์แรก.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีสร้าง Section Zoom Frame บนสไลด์:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->yellow);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 1", $slide);
# เพิ่มอ็อบเจ็กต์ SectionZoomFrame
$sectionZoomFrame = $pres->getSlides()->get_Item(0)->getShapes()->addSectionZoomFrame(20, 20, 300, 200, $pres->getSections()->get_Item(1));
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
สร้าง Section Zoom Frame ด้วยภาพกำหนดเอง
ใช้ Aspose.Slides for PHP via Java, คุณสามารถสร้าง Section Zoom Frame ที่มีภาพตัวอย่างสไลด์แตกต่างกันได้โดยทำดังนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่.
- เพิ่มพื้นหลังระบุตัวให้กับสไลด์ที่สร้าง.
- สร้างส่วนใหม่ที่คุณต้องการเชื่อมต่อกับ Zoom Frame.
- สร้างอ็อบเจ็กต์ PPImage(ลิงก์) โดยเพิ่มภาพลงในคอลเลกชัน Images ของอ็อบเจ็กต์ Presentation ที่จะใช้เติมกรอบ.
- เพิ่ม Section Zoom Frame (ซึ่งอ้างอิงส่วนที่สร้าง) ไปยังสไลด์แรก.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีสร้าง Section Zoom Frame ด้วยภาพกำหนดเอง:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->yellow);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 1", $slide);
# สร้างภาพใหม่สำหรับอ็อบเจ็กต์ซูม
$picture;
$image = Images->fromFile("image.png");
try {
$picture = $pres->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
# เพิ่มอ็อบเจ็กต์ SectionZoomFrame
$sectionZoomFrame = $pres->getSlides()->get_Item(0)->getShapes()->addSectionZoomFrame(20, 20, 300, 200, $pres->getSections()->get_Item(1), $picture);
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
ฟอร์แมต Section Zoom Frame
เพื่อสร้าง Section Zoom Frame ที่ซับซ้อนมากขึ้น, คุณต้องปรับเปลี่ยนการฟอร์แมตของเฟรมอย่างง่าย. มีตัวเลือกการฟอร์แมตหลายอย่างที่คุณสามารถใช้กับ Section Zoom Frame.
คุณสามารถควบคุมการฟอร์แมตของ Section Zoom Frame บนสไลด์ได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่.
- เพิ่มพื้นหลังระบุตัวให้กับสไลด์ที่สร้าง.
- สร้างส่วนใหม่ที่คุณต้องการเชื่อมต่อกับ Zoom Frame.
- เพิ่ม Section Zoom Frame (ซึ่งอ้างอิงส่วนที่สร้าง) ไปยังสไลด์แรก.
- เปลี่ยนขนาดและตำแหน่งของอ็อบเจ็กต์ Section Zoom ที่สร้าง.
- สร้างอ็อบเจ็กต์ PPImage(ลิงก์) โดยเพิ่มภาพลงในคอลเลกชัน Images ของอ็อบเจ็กต์ Presentation ที่จะใช้เติมกรอบ.
- ตั้งค่าภาพกำหนดเองสำหรับอ็อบเจ็กต์ Section Zoom ที่สร้าง.
- ตั้งค่าความสามารถ กลับไปยังสไลด์ต้นฉบับจากส่วนที่เชื่อมโยง.
- ลบพื้นหลังจากภาพของอ็อบเจ็กต์ Section Zoom.
- เปลี่ยนรูปแบบเส้นสำหรับอ็อบเจ็กต์ Zoom Frame ที่สอง.
- เปลี่ยนระยะเวลาเปลี่ยนฉาก.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีเปลี่ยนการฟอร์แมตของ Section Zoom Frame:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->yellow);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 1", $slide);
# เพิ่มอ็อบเจ็กต์ SectionZoomFrame
$sectionZoomFrame = $pres->getSlides()->get_Item(0)->getShapes()->addSectionZoomFrame(20, 20, 300, 200, $pres->getSections()->get_Item(1));
# การจัดรูปแบบสำหรับ SectionZoomFrame
$sectionZoomFrame->setX(100);
$sectionZoomFrame->setY(300);
$sectionZoomFrame->setWidth(100);
$sectionZoomFrame->setHeight(75);
$picture;
$image = Images->fromFile("image.png");
try {
$picture = $pres->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
$sectionZoomFrame->setImage($picture);
$sectionZoomFrame->setReturnToParent(true);
$sectionZoomFrame->setShowBackground(false);
$sectionZoomFrame->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$sectionZoomFrame->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->gray);
$sectionZoomFrame->getLineFormat()->setDashStyle(LineDashStyle->DashDot);
$sectionZoomFrame->getLineFormat()->setWidth(2.5);
$sectionZoomFrame->setTransitionDuration(1.5);
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Summary Zoom
Summary Zoom คล้ายกับหน้า Landing Page ที่แสดงส่วนต่าง ๆ ของการนำเสนอทั้งหมดพร้อมกัน. เมื่อคุณกำลังนำเสนอ, คุณสามารถใช้ Zoom เพื่อไปจากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่งในลำดับใดก็ได้ตามที่คุณต้องการ. คุณสามารถสร้างสรรค์, ข้ามหน้า, หรือกลับมาที่ส่วนต่าง ๆ ของการสไลด์โชว์โดยไม่ขัดจังหวะการไหลของการนำเสนอ.

สำหรับวัตถุ Summary Zoom, Aspose.Slides มีคลาส SummaryZoomFrame(ลิงก์), SummaryZoomSection(ลิงก์), SummaryZoomSectionCollection(ลิงก์) และเมธอดบางอย่างในคลาส ShapeCollection(ลิงก์)
สร้าง Summary Zoom
คุณสามารถเพิ่ม Summary Zoom Frame ไปยังสไลด์ได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่พร้อมพื้นหลังระบุตัวและส่วนใหม่สำหรับสไลด์ที่สร้าง.
- เพิ่ม Summary Zoom Frame ไปยังสไลด์แรก.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีสร้าง Summary Zoom Frame บนสไลด์:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->gray);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 1", $slide);
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->cyan);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 2", $slide);
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->magenta);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 3", $slide);
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->green);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 4", $slide);
# เพิ่มอ็อบเจ็กต์ SummaryZoomFrame
$summaryZoomFrame = $pres->getSlides()->get_Item(0)->getShapes()->addSummaryZoomFrame(150, 50, 300, 200);
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
เพิ่มและลบ Summary Zoom Section
ทุกส่วนใน Summary Zoom Frame จะถูกแทนด้วยอ็อบเจ็กต์ SummaryZoomSection ที่จัดเก็บอยู่ในอ็อบเจ็กต์ SummaryZoomSectionCollection. คุณสามารถเพิ่มหรือลบอ็อบเจ็กต์ Summary Zoom Section ผ่านคลาส SummaryZoomSectionCollection ได้โดยทำดังนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่พร้อมพื้นหลังระบุตัวและส่วนใหม่สำหรับสไลด์ที่สร้าง.
- เพิ่ม Summary Zoom Frame ไปยังสไลด์แรก.
- เพิ่มสไลด์และส่วนใหม่ไปยังการนำเสนอ.
- เพิ่มส่วนที่สร้างลงใน Summary Zoom Frame.
- ลบส่วนแรกออกจาก Summary Zoom Frame.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีเพิ่มและลบส่วนใน Summary Zoom Frame:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->gray);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 1", $slide);
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->cyan);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 2", $slide);
# เพิ่มอ็อบเจ็กต์ SummaryZoomFrame
$summaryZoomFrame = $pres->getSlides()->get_Item(0)->getShapes()->addSummaryZoomFrame(150, 50, 300, 200);
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->magenta);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$section3 = $pres->getSections()->addSection("Section 3", $slide);
# เพิ่มส่วนลงใน Summary Zoom
$summaryZoomFrame->getSummaryZoomCollection()->addSummaryZoomSection($section3);
# ลบส่วนออกจาก Summary Zoom
$summaryZoomFrame->getSummaryZoomCollection()->removeSummaryZoomSection($pres->getSections()->get_Item(1));
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
ฟอร์แมต Summary Zoom Section
เพื่อสร้างอ็อบเจ็กต์ Summary Zoom Section ที่ซับซ้อนมากขึ้น, คุณต้องปรับเปลี่ยนการฟอร์แมตของเฟรมอย่างง่าย. มีตัวเลือกการฟอร์แมตหลายอย่างที่คุณสามารถใช้กับอ็อบเจ็กต์ Summary Zoom Section.
คุณสามารถควบคุมการฟอร์แมตของอ็อบเจ็กต์ Summary Zoom Section ใน Summary Zoom Frame ได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- สร้างสไลด์ใหม่พร้อมพื้นหลังระบุตัวและส่วนใหม่สำหรับสไลด์ที่สร้าง.
- เพิ่ม Summary Zoom Frame ไปยังสไลด์แรก.
- ดึงอ็อบเจ็กต์ Summary Zoom Section ตัวแรกจาก
SummaryZoomSectionCollection. - สร้างอ็อบเจ็กต์ PPImage(ลิงก์) โดยเพิ่มภาพลงในคอลเลกชัน Images ของอ็อบเจ็กต์ Presentation ที่จะใช้เติมกรอบ.
- ตั้งค่าภาพกำหนดเองสำหรับอ็อบเจ็กต์ Section Zoom ที่สร้าง.
- ตั้งค่าความสามารถ กลับไปยังสไลด์ต้นฉบับจากส่วนที่เชื่อมโยง.
- เปลี่ยนรูปแบบเส้นสำหรับอ็อบเจ็กต์ Zoom Frame ที่สอง.
- เปลี่ยนระยะเวลาเปลี่ยนฉาก.
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX.
โค้ด PHP นี้แสดงวิธีเปลี่ยนการฟอร์แมตของอ็อบเจ็กต์ Summary Zoom Section:
$pres = new Presentation();
try {
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->gray);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 1", $slide);
# เพิ่มสไลด์ใหม่ในงานนำเสนอ
$slide = $pres->getSlides()->addEmptySlide($pres->getSlides()->get_Item(0)->getLayoutSlide());
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->cyan);
$slide->getBackground()->setType(BackgroundType::OwnBackground);
# เพิ่ม Section ใหม่ในงานนำเสนอ
$pres->getSections()->addSection("Section 2", $slide);
# เพิ่มอ็อบเจ็กต์ SummaryZoomFrame
$summaryZoomFrame = $pres->getSlides()->get_Item(0)->getShapes()->addSummaryZoomFrame(150, 50, 300, 200);
# ดึงอ็อบเจ็กต์ SummaryZoomSection ตัวแรก
$summarySection = $summaryZoomFrame->getSummaryZoomCollection()->get_Item(0);
# การจัดรูปแบบสำหรับอ็อบเจ็กต์ SummaryZoomSection
$picture;
$image = Images->fromFile("image.png");
try {
$picture = $pres->getImages()->addImage($picture);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
$summarySection->setImage($picture);
$summarySection->setReturnToParent(false);
$summarySection->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$summarySection->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->black);
$summarySection->getLineFormat()->setDashStyle(LineDashStyle->DashDot);
$summarySection->getLineFormat()->setWidth(1.5);
$summarySection->setTransitionDuration(1.5);
# บันทึกงานนำเสนอ
$pres->save("presentation.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
ฉันสามารถควบคุมการกลับไปยังสไลด์ “แม่” หลังจากแสดงเป้าหมายได้หรือไม่?
ใช่. Zoom Frame(ลิงก์) หรือ Section(ลิงก์) มีพฤติกรรม ReturnToParent ซึ่งเมื่อเปิดใช้งานจะส่งผู้ชมกลับไปยังสไลด์ต้นทางหลังจากเยี่ยมชมเนื้อหาเป้าหมาย.
ฉันสามารถปรับ “ความเร็ว” หรือระยะเวลาในการเปลี่ยนฉากของ Zoom ได้หรือไม่?
ใช่. Zoom รองรับการตั้งค่า TransitionDuration เพื่อให้คุณควบคุมระยะเวลาการกระโดดของแอนิเมชัน.
การนำเสนอสามารถมีวัตถุ Zoom ได้กี่ตัว? มีขีดจำกัดหรือไม่?
ไม่มีขีดจำกัด API ที่ระบุอย่างชัดเจน. ขีดจำกัดเชิงปฏิบัติจะแตกต่างตามความซับซ้อนของการนำเสนอและประสิทธิภาพของผู้ชม. คุณสามารถเพิ่ม Zoom Frame ได้จำนวนมาก, แต่ควรคำนึงถึงขนาดไฟล์และเวลาเรนเดอร์.