ดึงและอัปเดตคุณสมบัติมุมมองพรีเซนเทชันใน Java
บทนำ
มุมมองปกติมีพื้นที่เนื้อหาสามส่วน: สไลด์เอง, พื้นที่เนื้อหาด้านข้าง, และพื้นที่เนื้อหาด้านล่าง. คุณสมบัติที่เกี่ยวกับการจัดตำแหน่งของพื้นที่เนื้อหาต่าง ๆ. ข้อมูลนี้ทำให้แอปพลิเคชันสามารถบันทึกสถานะการมองเห็นลงในไฟล์ได้ เพื่อให้เมื่่อเปิดใหม่มุมมองยังคงอยู่ในสถานะเดียวกับเมื่อทำการบันทึกพรีเซนเทชันครั้งสุดท้าย.
เมธอด IViewProperties.getNormalViewProperties ได้ถูกเพิ่มเข้ามาเพื่อให้เข้าถึงคุณสมบัติมุมมองปกติของพรีเซนเทชัน.
อินเทอร์เฟซ INormalViewProperties, INormalViewRestoredProperties และลูกสืบของมัน, ENUM SplitterBarStateType ได้ถูกเพิ่มเข้ามา.
เกี่ยวกับ INormalViewProperties
แทนคุณสมบัติมุมมองปกติ.
เมธอด getShowOutlineIcons และ setShowOutlineIcons ระบุว่าแอปพลิเคชันควรแสดงไอคอนหรือไม่เมื่อแสดงเนื้อหาโครงร่างในพื้นที่เนื้อหาใด ๆ ของโหมดมุมมองปกติ.
เมธอด getSnapVerticalSplitter และ setSnapVerticalSplitter ระบุว่าตัวแบ่งแนวตั้งควรสแนปเข้าสู่สถานะย่อเมื่อพื้นที่ด้านข้างเล็กพอ.
คุณสมบัติ getPreferSingleView และ setPreferSingleView ระบุว่าผู้ใช้ต้องการดูพื้นที่เนื้อหาแบบเดี่ยวเต็มหน้าต่างแทนมุมมองปกติมาตรฐานที่มีสามพื้นที่หรือไม่ หากเปิดใช้งาน แอปพลิเคชันอาจเลือกแสดงหนึ่งในพื้นที่เนื้อหาเต็มหน้าต่าง.
เมธอด getVerticalBarState และ getHorizontalBarState ระบุสถานะที่แถบแบ่งแนวนอนหรือแนวตั้งควรแสดง แถบแบ่งแนวนอนจะแยกสไลด์จากพื้นที่เนื้อหาด้านล่างสไลด์, แถบแบ่งแนวตั้งจะแยกสไลด์จากพื้นที่เนื้อหาด้านข้าง. ค่าที่เป็นไปได้คือ: SplitterBarStateType.Minimized, SplitterBarStateType.Maximized และ SplitterBarStateType.Restored.
เมธอด getRestoredLeft และ getRestoredTop ระบุการกำหนดขนาดของพื้นที่สไลด์ด้านบนหรือด้านข้างของมุมมองปกติเมื่อค่า SplitterBarStateType.Restored ถูกนำไปใช้กับ getVerticalBarState และ getHorizontalBarState ตามลำดับ.
เกี่ยวกับการกู้คืน INormalViewProperties
ระบุการกำหนดขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ getRestoredTop, ความสูงเมื่อเป็นลูกของ getRestoredLeft) ของมุมมองปกติ เมื่อพื้นที่มีขนาดที่เรียกคืนได้แบบเปลี่ยนแปลง (ไม่ได้ย่อหรือขยาย).
เมธอด getDimensionSize ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ restoredTop, ความสูงเมื่อเป็นลูกของ restoredLeft).
เมธอด getAutoAdjust ระบุว่าขนาดของพื้นที่เนื้อหาด้านข้างควรปรับให้เข้ากับขนาดใหม่เมื่อปรับขนาดหน้าต่างที่บรรจุมุมมองภายในแอปพลิเคชันหรือไม่.
ตัวอย่างด้านล่างแสดงวิธีการเข้าถึงคุณสมบัติ ViewProperties.getNormalViewProperties ของพรีเซนเทชัน.
Presentation 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 presentation = new Presentation();
try {
// ตั้งค่าคุณสมบัติมุมมองของพรีเซนเทชัน
presentation.getViewProperties().getSlideViewProperties().setScale(100); // ค่า Zoom เป็นเปอร์เซ็นต์สำหรับมุมมองสไลด์
presentation.getViewProperties().getNotesViewProperties().setScale(100); // ค่า Zoom เป็นเปอร์เซ็นต์สำหรับมุมมองโน้ต
presentation.save("Zoom_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
ฉันสามารถตั้งค่ามุมมองต่าง ๆ สำหรับส่วนต่าง ๆ ของพรีเซนเทชันได้หรือไม่?
View settings ถูกกำหนดระดับพรีเซนเทชัน (Normal View/Slide View), ไม่ได้แยกตามส่วน, ดังนั้นชุดพารามิเตอร์เดียวจะนำไปใช้กับเอกสารทั้งหมดเมื่อเปิด.
ฉันสามารถกำหนดล่วงหน้าสถานะมุมมองต่าง ๆ สำหรับผู้ใช้แต่ละคนได้หรือไม่?
ไม่ได้. การตั้งค่าถูกจัดเก็บในไฟล์และใช้ร่วมกัน แอปพลิเคชันผู้ชมอาจเคารพการตั้งค่าผู้ใช้, แต่ไฟล์เองมีชุดคุณสมบัตุมุมมองเดียว.
ฉันสามารถเตรียมเทมเพลตที่มี View Properties ที่กำหนดล่วงหน้าเพื่อให้พรีเซนเทชันใหม่เปิดในรูปแบบเดียวกันได้หรือไม่?
ได้. เนื่องจาก view properties ถูกจัดเก็บระดับพรีเซนเทชัน, คุณสามารถฝังไว้ในเทมเพลตและสร้างเอกสารใหม่จากเทมเพลตนั้นด้วยการกำหนดค่ามุมมองเริ่มต้นเดียวกัน.