ดึงและอัปเดตคุณสมบัติมุมมองพรีเซนเทชันใน 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();
}

ตั้งค่าค่าซูมเริ่มต้น

เพื่อกำหนดคุณสมบัตุมุมมอง โปรดทำตามขั้นตอนต่อไปนี้:

  1. สร้างอินสแตนซ์ของคลาส Presentation.
  2. ตั้งค่า View Properties ของ Presentation.
  3. บันทึกพรีเซนเทชันเป็นไฟล์ 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 ถูกจัดเก็บระดับพรีเซนเทชัน, คุณสามารถฝังไว้ในเทมเพลตและสร้างเอกสารใหม่จากเทมเพลตนั้นด้วยการกำหนดค่ามุมมองเริ่มต้นเดียวกัน.