เปลี่ยนขนาดสไลด์ของงานนำเสนอใน PHP
บทนำ
Aspose.Slides มีเครื่องมือที่ครบถ้วนสำหรับปรับขนาดสไลด์และอัตราส่วนภาพในงานนำเสนอ PowerPoint ซึ่งสำคัญทั้งสำหรับการพิมพ์และการแสดงบนหน้าจอ
ขนาดสไลด์และอัตราส่วนที่นิยม:
- Standard (4:3 Aspect Ratio): เหมาะสำหรับหน้าจอและอุปกรณ์รุ่นเก่า
- Widescreen (16:9 Aspect Ratio): แนะนำสำหรับโปรเจคเตอร์และจอแสดงผลสมัยใหม่
ให้แน่ใจว่ามีความสอดคล้องตลอดงานนำเสนอของคุณ เนื่องจากขนาดสไลด์และอัตราส่วนภาพเดียวกันจะถูกนำไปใช้กับสไลด์ทั้งหมด เพื่อผลลัพธ์ที่ดีที่สุด ให้ตั้งค่าขนาดสไลด์ตั้งแต่เริ่มสร้างงานนำเสนอเพื่อหลีกเลี่ยงปัญหาในภายหลัง
เปลี่ยนขนาดสไลด์ในงานนำเสนอ
โค้ดตัวอย่างนี้แสดงวิธีการเปลี่ยนขนาดสไลด์ในงานนำเสนอโดยใช้ Aspose.Slides:
$pres = new Presentation("pres-4x3-aspect-ratio.pptx");
try {
$pres->getSlideSize()->setSize(SlideSizeType::OnScreen16x9, SlideSizeScaleType::DoNotScale);
$pres->save("pres-4x3-aspect-ratio.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
ระบุขนาดสไลด์ที่กำหนดเองในงานนำเสนอ
หากคุณพบว่าขนาดสไลด์ทั่วไป (4:3 และ 16:9) ไม่เหมาะกับงานของคุณ คุณอาจเลือกใช้ขนาดสไลด์ที่กำหนดหรือเฉพาะเจาะจงได้ ตัวอย่างเช่น หากคุณต้องการพิมพ์สไลด์เต็มขนาดจากงานนำเสนอบนรูปแบบหน้ากระดาษที่กำหนดเอง หรือหากคุณต้องการแสดงงานนำเสนอบนประเภทหน้าจอบางประเภท คุณจะได้รับประโยชน์จากการตั้งค่าขนาดสไลด์ที่กำหนดเองสำหรับงานนำเสนอของคุณ
โค้ดตัวอย่างนี้แสดงวิธีการใช้ Aspose.Slides สำหรับ PHP ผ่าน Java เพื่อระบุขนาดสไลด์ที่กำหนดเองสำหรับงานนำเสนอ :
$pres = new Presentation("pres.pptx");
try {
$pres->getSlideSize()->setSize(780, 540, SlideSizeScaleType::DoNotScale);// ขนาดกระดาษ A4
$pres->save("pres-a4-slide-size.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
จัดการเนื้อหาสไลด์หลังการปรับขนาด
หลังจากที่คุณเปลี่ยนขนาดสไลด์ของงานนำเสนอ เนื้อหาของสไลด์ (เช่น ภาพหรือวัตถุต่าง ๆ) อาจเสียรูปแบบได้โดยอัตโนมัติ วัตถุจะถูกปรับขนาดโดยอัตโนมัติเพื่อให้พอดีกับขนาดสไลด์ใหม่ อย่างไรก็ตาม เมื่อเปลี่ยนขนาดสไลด์ของงานนำเสนอ คุณสามารถระบุการตั้งค่าที่กำหนดว่าข้อมูลบนสไลด์จะถูกจัดการอย่างไรโดย Aspose.Slides
ขึ้นอยู่กับสิ่งที่คุณต้องการทำหรือบรรลุผล คุณสามารถใช้การตั้งค่าใดก็ได้ต่อไปนี้:
-
DoNotScaleหากคุณ ไม่ต้องการ ให้วัตถุบนสไลด์ถูกปรับขนาด ให้ใช้การตั้งค่านี้
-
EnsureFitหากคุณต้องการปรับขนาดให้เล็กลงและต้องการให้ Aspose.Slides ลดขนาดวัตถุบนสไลด์เพื่อให้พอดีกับสไลด์ทั้งหมด (วิธีนี้ช่วยป้องกันการสูญเสียเนื้อหา) ให้ใช้การตั้งค่านี้
-
Maximizeหากคุณต้องการปรับขนาดให้ใหญ่ขึ้นและต้องการให้ Aspose.Slides ขยายวัตถุบนสไลด์ให้เป็นสัดส่วนกับขนาดสไลด์ใหม่ ให้ใช้การตั้งค่านี้
โค้ดตัวอย่างนี้แสดงวิธีการใช้การตั้งค่า Maximize เมื่อเปลี่ยนขนาดสไลด์ของงานนำเสนอ:
$pres = new Presentation("pres.pptx");
try {
$pres->getSlideSize()->setSize(SlideSizeType::Ledger, SlideSizeScaleType::Maximize);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
คำถามที่พบบ่อย
ฉันสามารถตั้งขนาดสไลด์ที่กำหนดเองโดยใช้หน่วยอื่นที่ไม่ใช-inch (เช่น จุดหรือมิลลิเมตร) ได้หรือไม่?
ใช่ Aspose.Slides ใช้หน่วย “จุด” ภายใน ซึ่ง 1 จุดเท่ากับ 1/72 นิ้ว คุณสามารถแปลงหน่วยใด ๆ (เช่น มิลลิमीटरหรือเซนติเมตร) เป็นจุดแล้วใช้ค่าที่แปลงแล้วกำหนดความกว้างและความสูงของสไลด์ได้
ขนาดสไลด์ที่กำหนดเองขนาดใหญ่มากจะส่งผลต่อประสิทธิภาพและการใช้หน่วยความจำในระหว่างการเรนเดอร์หรือไม่?
ใช่ ขนาดสไลด์ที่ใหญ่ขึ้น (เป็นหน่วยจุด) พร้อมกับสเกลการเรนเดอร์ที่สูงขึ้นจะทำให้การใช้หน่วยความจำเพิ่มขึ้นและเวลาการประมวลผลนานขึ้น ควรเลือกขนาดสไลด์ที่เหมาะสมและปรับสเกลการเรนเดอร์ตามความจำเป็นเพื่อให้ได้คุณภาพผลลัพธ์ตามต้องการ
ฉันสามารถกำหนดขนาดสไลด์ที่ไม่เป็นมาตรฐานหนึ่งขนาด แล้วรวมสไลด์จากงานนำเสนอที่มีขนาดแตกต่างกันได้หรือไม่?
คุณไม่สามารถ merge presentations ได้ในขณะที่มีขนาดสไลด์ที่แตกต่างกัน — ก่อนอื่นให้ปรับขนาดงานนำเสนอหนึ่งให้ตรงกับอีกงานหนึ่ง เมื่อเปลี่ยนขนาดสไลด์ คุณสามารถเลือกวิธีจัดการเนื้อหาที่มีอยู่ผ่านตัวเลือก SlideSizeScaleType หลังจากปรับขนาดให้ตรงกัน คุณสามารถรวมสไลด์โดยคงรูปแบบไว้ได้
ฉันสามารถสร้างภาพย่อสำหรับรูปทรงเดี่ยวหรือพื้นที่เฉพาะของสไลด์ได้หรือไม่ และภาพย่อเหล่านั้นจะเคารพขนาดสไลด์ใหม่ไหม?
ใช่ Aspose.Slides สามารถเรนเดอร์ภาพย่อสำหรับ entire slides รวมถึง selected shapes ได้ ภาพที่ได้จะสะท้อนขนาดสไลด์และอัตราส่วนภาพปัจจุบัน ทำให้กรอบและรูปทรงคงที่และสอดคล้องกัน