ดึงและอัปเดตคุณสมบัติมุมมองการนำเสนอใน Java
บทนำ
มุมมองปกติประกอบด้วยพื้นที่เนื้อหา 3 ส่วน: สไลด์เอง, พื้นที่เนื้อหาด้านข้าง, และพื้นที่เนื้อหาด้านล่าง. คุณสมบัติเกี่ยวกับการจัดตำแหน่งของพื้นที่เนื้อหาต่าง ๆ. ข้อมูลนี้ทำให้แอปพลิเคชันบันทึกสถานะมุมมองไปยังไฟล์, เพื่อให้เมื่อเปิดใหม่มุมมองจะอยู่ในสภาพเดียวกับเมื่อการนำเสนอถูกบันทึกล่าสุด.
เมธอด IViewProperties.getNormalViewProperties ถูกเพิ่มเข้ามาเพื่อให้เข้าถึงคุณสมบัติมุมมองปกติของการนำเสนอ.
เพิ่มอินเทอร์เฟซ INormalViewProperties, INormalViewRestoredProperties และทายาทของมัน, รวมถึง enum SplitterBarStateType.
เกี่ยวกับ INormalViewProperties
แทนคุณสมบัติมุมมองปกติ.
เมธอด getShowOutlineIcons และ setShowOutlineIcons ระบุว่าแอปพลิเคชันควรแสดงไอคอนหรือไม่เมื่อแสดงเนื้อหาโครงร่างในพื้นที่เนื้อหาใด ๆ ของโหมดมุมมองปกติ.
เมธอด getSnapVerticalSplitter และ setSnapVerticalSplitter ระบุว่ากับแถบแบ่งแนวตั้งควรสแนปเป็นสถานะย่อเมื่อพื้นที่ด้านข้างเล็กพอ.
คุณสมบัติ getPreferSingleView และ setPreferSingleView ระบุว่าผู้ใช้ต้องการดูพื้นที่เนื้อหาเดียวเต็มหน้าต่างเหนือมุมมองปกติที่มี 3 พื้นที่หรือไม่. หากเปิดใช้งาน แอปพลิเคชันอาจเลือกแสดงหนึ่งในพื้นที่เนื้อหาเต็มหน้าต่าง.
เมธอด getVerticalBarState และ getHorizontalBarState ระบุสถานะที่แถบแบ่งแนวตั้งหรือแนวนอนควรแสดง. แถบแบ่งแนวนอนแยกสไลด์จากพื้นที่เนื้อหาที่อยู่ด้านล่าง, ส่วนแถบแบ่งแนวตั้งแยกสไลด์จากพื้นที่ด้านข้าง. ค่าที่เป็นไปได้ได้แก่ SplitterBarStateType.Minimized, SplitterBarStateType.Maximized และ SplitterBarStateType.Restored.
เมธอด getRestoredLeft และ getRestoredTop ระบุขนาดของพื้นที่สไลด์ด้านบนหรือด้านข้างของมุมมองปกติเมื่อค่า SplitterBarStateType.Restored ถูกใช้กับ getVerticalBarState และ getHorizontalBarState ตามลำดับ.
เกี่ยวกับการกู้คืน INormalViewProperties
ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ getRestoredTop, ความสูงเมื่อเป็นลูกของ getRestoredLeft) ของมุมมองปกติเมื่อพื้นที่นั้นมีขนาดที่กู้คืนได้ (ไม่ย่อและไม่ขยาย).
เมธอด getDimensionSize ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ restoredTop, ความสูงเมื่อเป็นลูกของ restoredLeft).
เมธอด getAutoAdjust ระบุว่าพื้นที่เนื้อหาด้านข้างควรปรับตามขนาดใหม่เมื่อเปลี่ยนขนาดหน้าต่างที่มีมุมมองนี้หรือไม่.
ตัวอย่างต่อไปนี้แสดงวิธีเข้าถึงคุณสมบัติ ViewProperties.getNormalViewProperties ของการนำเสนอ.
import com.aspose.slides.*;
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. ตัวอย่างต่อไปนี้เราได้ตั้งค่ามาตรการซูมสำหรับมุมมองสไลด์และมุมมองบันทึกหมายเหตุ.
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
// ตั้งค่าคุณสมบัติมุมมองของการนำเสนอ
presentation.getViewProperties().getSlideViewProperties().setScale(100); // ค่าซูมเป็นเปอร์เซ็นต์สำหรับมุมมองสไลด์
presentation.getViewProperties().getNotesViewProperties().setScale(100); // ค่าซูมเป็นเปอร์เซ็นต์สำหรับมุมมองบันทึกหมายเหตุ
presentation.save("Zoom_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
ตั้งค่าการเว้นระยะของกริด
ใช้ Presentation.getViewProperties เพื่อเข้าถึงการตั้งค่ามุมมองระดับการนำเสนอ. เมธอด IViewProperties.getGridSpacing และ IViewProperties.setGridSpacing อ่านหรือเปลี่ยนช่วงของกริดสำหรับการแก้ไข. การตั้งค่านี้ใช้กับการนำเสนอทั้งหมด, ไม่ใช่สไลด์เดี่ยว. การเว้นระยะกริดระบุเป็นพอยต์, โดย 72 พอยต์เท่ากับ 1 นิ้ว. ใช้ค่าเป็นบวกตามที่เอกสาร API ระบุ.
ตัวอย่างต่อไปนี้เปิดไฟล์ demo.pptx ที่มีอยู่, พิมพ์ค่าการเว้นระยะกริดปัจจุบัน, ตั้งค่าเป็นช่วงหนึ่งในสี่นิ้ว, แล้วบันทึกผลลัพธ์.
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
Presentation presentation = new Presentation("demo.pptx");
try {
float gridSpacing = presentation.getViewProperties().getGridSpacing();
System.out.println("Current grid spacing: " + gridSpacing + " points");
presentation.getViewProperties().setGridSpacing(18f);
presentation.save("grid-spacing.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
กริดแตกต่างจาก drawing guides. การเว้นระยะกริดควบคุมช่วงแบบสม่ำเสมอ, ส่วน drawing guides เป็นเส้นแนวตั้งหรือแนวนอนที่ตำแหน่งกำหนดเอง. การเพิ่ม, ย้าย หรือ ลบ drawing guides ไม่เปลี่ยนการเว้นระยะของกริด.
ทั้งกริดและ drawing guides เป็นเครื่องมือช่วยแก้ไข. พวกมันไม่ถูกเรนเดอร์เป็นเนื้อหาสไลด์ใน PDF, ภาพ, SVG, หรือการแสดงสไลด์โชว์. การจัดเก็บการเว้นระยะกริดไม่ได้รับประกันว่าโปรแกรมแก้ไขจะแสดงกริด: ความมองเห็นขึ้นอยู่กับการตั้งค่าของผู้ดูหรือโปรแกรมแก้ไข.
แสดงหรือซ่อนความคิดเห็นเมื่อเปิดการนำเสนอ
ใช้ Presentation.getViewProperties เพื่อเข้าถึงการตั้งค่ามุมมองระดับการนำเสนอ. ใช้ IViewProperties.getShowComments และ IViewProperties.setShowComments อ่านหรือเปลี่ยนการตั้งค่าที่บันทึกไว้ว่าความคิดเห็นควรแสดงเมื่อการนำเสนอเปิดใน PowerPoint หรือโปรแกรมที่เข้ากันได้อื่นหรือไม่.
การตั้งค่านี้ควบคุมเพียงการมุมมองที่บันทึกไว้. ไม่ได้เพิ่ม, ลบ, แก้ไข หรือแก้ไขความเห็น. การซ่อนความเห็นจะคงเนื้อหา, ผู้เขียน, ตำแหน่ง, การตอบกลับและสถานะไว้. ดู Presentation Comments สำหรับการดำเนินการที่เปลี่ยนแปลงความคิดเห็นเอง.
ตัวอย่างต่อไปนี้ต้องมีไฟล์ comments.pptx ที่มีความคิดเห็นอยู่แล้ว. ตัวอย่างพิมพ์การตั้งค่าการมองเห็นปัจจุบัน, สั่งให้ซ่อนความคิดเห็น, แล้วบันทึกไฟล์ PPTX ใหม่โดยไม่ลบความคิดเห็นใด ๆ. ตัวอย่างยังใช้ IViewProperties.setLastView กับ ViewType.SlideView เพื่อกำหนดมุมมองการแก้ไขเริ่มต้นพร้อมกับการมองเห็นความคิดเห็น.
import com.aspose.slides.NullableBool;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
import com.aspose.slides.ViewType;
Presentation presentation = new Presentation("comments.pptx");
try {
byte showComments = presentation.getViewProperties().getShowComments();
System.out.println("Current comment visibility: " + showComments);
presentation.getViewProperties().setShowComments(NullableBool.False);
presentation.getViewProperties().setLastView(ViewType.SlideView);
presentation.save("comments-hidden.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
การตั้งค่านี้ไม่ได้กำหนดว่าความคิดเห็นจะรวมอยู่ในไฟล์ PDF, HTML, ภาพ, โน้ต หรือเอกสารแจกจ่ายหรือไม่. โปรดกำหนดตัวเลือกการส่งออกที่เกี่ยวข้องแยกต่างหาก.
คำถามที่พบบ่อย
ทำไมกริดถึงไม่แสดงหลังจากเปิดการนำเสนอใหม่?
ไฟล์บันทึกค่าการเว้นระยะของกริด, แต่โปรแกรมแก้ไขเป็นผู้ควบคุมการแสดงกริด. ตรวจสอบการตั้งค่าการมองเห็นกริดของโปรแกรมแก้ไข.
การลบ drawing guides จะเปลี่ยนการเว้นระยะของกริดหรือไม่?
ไม่. drawing guides และการเว้นระยะของกริดเป็นการตั้งค่าที่อิสระกัน. การลบ guides ไม่ทำให้ช่วงกริดที่บันทึกไว้เปลี่ยนแปลง.
ฉันสามารถตั้งค่ามุมมองที่แตกต่างสำหรับส่วนต่าง ๆ ของการนำเสนอได้หรือไม่?
การตั้งค่ามุมมอง ถูกกำหนดระดับการนำเสนอ (Normal View/Slide View), ไม่ได้กำหนดต่อแต่ละส่วน, ดังนั้นชุดพารามิเตอร์เดียวจะใช้กับเอกสารทั้งหมดเมื่อเปิด.
ฉันสามารถกำหนดสถานะมุมมองที่แตกต่างสำหรับผู้ใช้ต่าง ๆ ได้หรือไม่?
ไม่ได้. การตั้งค่าถูกเก็บในไฟล์และใช้ร่วมกัน. โปรแกรมดูอาจเคารพการตั้งค่าผู้ใช้, แต่ไฟล์เองมีชุดคุณสมบัติมุมมองเดียว.
ฉันสามารถเตรียมเทมเพลตพร้อมคุณสมบัติมุมมองที่กำหนดไว้ล่วงหน้าเพื่อให้การนำเสนอใหม่เปิดด้วยการตั้งค่าเดียวกันหรือไม่?
ทำได้. เนื่องจาก คุณสมบัติมุมมอง ถูกเก็บระดับการนำเสนอ, คุณสามารถฝังไว้ในเทมเพลตและสร้างเอกสารใหม่จากเทมเพลตนั้นเพื่อให้มีการตั้งค่ามุมมองเริ่มต้นเดียวกัน.