ดึงข้อมูลและอัปเดตคุณสมบัติมุมมองของงานนำเสนอใน PHP
บทนำ
มุมมองปกติมีทั้งหมดสามพื้นที่เนื้อหา: สไลด์เอง, พื้นที่เนื้อหาด้านข้าง, และพื้นที่เนื้อหาทางด้านล่าง. คุณสมบัติที่เกี่ยวกับตำแหน่งของพื้นที่เนื้อหาต่าง ๆ นี้ทำให้แอปพลิเคชันสามารถบันทึกสถานะมุมมองลงในไฟล์, เพื่อให้เมื่อเปิดใหม่มุมมองอยู่ในสภาพเดียวกับที่บันทึกล่าสุดของงานนำเสนอ.
Method ViewProperties::getNormalViewProperties ได้ถูกเพิ่มเพื่อให้เข้าถึงคุณสมบัติมุมมองปกติของงานนำเสนอ.
NormalViewProperties, NormalViewRestoredProperties classes และคลาสลูกของมัน, SplitterBarStateType enum ได้ถูกเพิ่ม.
เกี่ยวกับ INormalViewProperties
แสดงถึงคุณสมบัติมุมมองปกติ.
Method getShowOutlineIcons และ setShowOutlineIcons ระบุว่าภายในโหมดมุมมองปกติแอปพลิเคชันควรแสดงไอคอนหรือไม่เมื่อแสดงเนื้อหาโครงร่างในพื้นที่เนื้อหาใด ๆ
Method getSnapVerticalSplitter และ setSnapVerticalSplitter ระบุว่าตัวแบ่งแนวตั้งควรสแนปไปสภาพย่อเล็กเมื่อพื้นที่ด้านข้างมีขนาดเล็กพอ
Property getPreferSingleView และ setPreferSingleView ระบุว่าผู้ใช้ต้องการมองเห็นพื้นที่เนื้อหาเดียวเต็มหน้าต่างแทนมุมมองปกติแบบสามพื้นที่หรือไม่ หากเปิดใช้งาน แอปพลิเคชันอาจเลือกแสดงหนึ่งในพื้นที่เนื้อหาให้เต็มหน้าต่าง
Method getVerticalBarState และ getHorizontalBarState ระบุสภาพที่แถบแบ่งแนวตั้งหรือแนวนอนควรแสดง. แถบแบ่งแนวนอนจะแยกสไลด์ออกจากพื้นที่เนื้อหาด้านล่าง, ส่วนแถบแบ่งแนวตั้งจะแยกสไลด์ออกจากพื้นที่เนื้อหาด้านข้าง. ค่าที่เป็นไปได้คือ: SplitterBarStateType::Minimized, SplitterBarStateType::Maximized และ SplitterBarStateType::Restored.
Method getRestoredLeft และ getRestoredTop ระบุขนาดของพื้นที่สไลด์ด้านบนหรือด้านข้างของมุมมองปกติ, เมื่อค่า SplitterBarStateType::Restored ถูกนำไปใช้กับ getVerticalBarState และ getHorizontalBarState ตามลำดับ.
เกี่ยวกับการคืนค่า INormalViewProperties
ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ getRestoredTop, ความสูงเมื่อเป็นลูกของ getRestoredLeft) ของมุมมองปกติ, เมื่พื้นที่มีขนาดที่เปลี่ยนแปลงได้ (ไม่ย่อเล็กและไม่ขยายเต็ม).
Method getDimensionSize ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ restoredTop, ความสูงเมื่อเป็นลูกของ restoredLeft).
Method getAutoAdjust ระบุว่าขนาดของพื้นที่เนื้อหาด้านข้างควรปรับให้สอดคล้องกับขนาดใหม่เมื่อเปลี่ยนขนาดหน้าต่างที่บรรจุมุมมองในแอปพลิเคชันหรือไม่
ตัวอย่างด้านล่างแสดงวิธีเข้าถึงคุณสมบัติ ViewProperties::getNormalViewProperties ของงานนำเสนอ.
$pres = new Presentation();
try {
$pres->getViewProperties()->getNormalViewProperties()->setHorizontalBarState(SplitterBarStateType::Restored);
$pres->getViewProperties()->getNormalViewProperties()->setVerticalBarState(SplitterBarStateType::Maximized);
# กู้คืนคุณสมบัติมุมมองของงานนำเสนอ
$pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setAutoAdjust(true);
$pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setDimensionSize(80);
$pres->getViewProperties()->getNormalViewProperties()->setShowOutlineIcons(true);
$pres->save("presentation_normal_view_state.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
ตั้งค่าค่าการซูมเริ่มต้น
เพื่อทำการตั้งค่าคุณสมบัติมุมมอง โปรดทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation.
- ตั้งค่า View Properties ของ Presentation.
- เขียนไฟล์งานนำเสนอเป็นไฟล์ PPTX ในตัวอย่างด้านล่าง เราได้ตั้งค่าค่าการซูมสำหรับมุมมองสไลด์และมุมมองโน๊ตด้วย.
$presentation = new Presentation();
try {
# ตั้งค่าคุณสมบัติมุมมองของงานนำเสนอ
$presentation->getViewProperties()->getSlideViewProperties()->setScale(100); // ค่าการซูมเป็นเปอร์เซ็นต์สำหรับมุมมองสไลด์
$presentation->getViewProperties()->getNotesViewProperties()->setScale(100); // ค่าการซูมเป็นเปอร์เซ็นต์สำหรับมุมมองโน๊ต
$presentation->save("Zoom_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
คำถามที่พบบ่อย
ฉันสามารถตั้งค่ามุมมองที่แตกต่างสำหรับส่วนต่าง ๆ ของการนำเสนอได้หรือไม่?
View settings ถูกกำหนดที่ระดับงานนำเสนอ (Normal View/Slide View), ไม่ได้แยกตามส่วน, ดังนั้นชุดพารามิเตอร์เดียวจะนำไปใช้กับเอกสารทั้งหมดเมื่อเปิด.
ฉันสามารถกำหนดค่าเริ่มต้นของมุมมองสำหรับผู้ใช้คนต่าง ๆ ได้หรือไม่?
ไม่ได้. การตั้งค่าถูกบันทึกในไฟล์และใช้ร่วมกัน. แอปพลิเคชันผู้ดูอาจให้ความสำคัญกับการตั้งค่าผู้ใช้, แต่ไฟล์เองมีชุดคุณสมบัติมุมมองเดียว.
ฉันสามารถสร้างเทมเพลตที่มี View Properties ถูกกำหนดล่วงหน้าเพื่อให้งานนำเสนอใหม่เปิดด้วยการตั้งค่าเดียวกันได้หรือไม่?
ได้. เนื่องจาก view properties ถูกจัดเก็บที่ระดับงานนำเสนอ, คุณสามารถฝังมันลงในเทมเพลตและสร้างเอกสารใหม่จากเทมเพลตนั้นเพื่อให้มีการกำหนดค่ามุมมองเริ่มต้นเดียวกัน.