ดึงและอัปเดตคุณสมบัติมุมมองการนำเสนอบน Android

บทนำ

มุมมองปกติมีพื้นที่เนื้อหา 3 ส่วน ได้แก่ สไลด์เอง, พื้นที่เนื้อหาด้านข้าง, และพื้นที่เนื้อหาด้านล่าง คุณสมบัติที่เกี่ยวกับการจัดตำแหน่งของพื้นที่เนื้อหาต่าง ๆ ข้อมูลนี้ช่วยให้แอปพลิเคชันบันทึกสถานะมุมมองลงไฟล์ เพื่อให้เมื่อเปิดใหม่มุมมองอยู่ในสถานะเดียวกันกับขณะบันทึกการนำเสนอครั้งสุดท้าย

เมธอด 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 สำหรับการนำเสนอ

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();
}

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

เพื่อกำหนดคุณสมบัติมุมมอง กรุณาปฏิบัติตามขั้นตอนด้านล่าง:

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

FAQ

ทำไมกริดไม่แสดงหลังจากที่เปิดการนำเสนอใหม่?

ไฟล์บันทึกค่าการจัดช่องกริดไว้ แต่โปรแกรมแก้ไขเป็นผู้ควบคุมว่ากริดจะแสดงหรือไม่ ตรวจสอบการตั้งค่าการมองเห็นกริดของโปรแกรมแก้ไข

การลบ drawing guides จะทำให้การจัดช่องกริดเปลี่ยนหรือไม่?

ไม่. drawing guides และการจัดช่องกริดเป็นการตั้งค่าแยกกัน การลบ guides จะไม่ทำให้ช่วงกริดที่เก็บไว้เปลี่ยนแปลง

ฉันสามารถตั้งค่ามุมมองต่าง ๆ สำหรับส่วนต่าง ๆ ของการนำเสนอได้หรือไม่?

การตั้งค่า View settings ถูกกำหนดระดับการนำเสนอ (Normal View/Slide View) ไม่ได้ระดับส่วน ดังนั้นชุดพารามิเตอร์เดียวจะใช้กับเอกสารทั้งหมดเมื่อเปิด

ฉันสามารถกำหนดสถานะมุมมองที่แตกต่างสำหรับผู้ใช้ต่าง ๆ ได้หรือไม่?

ไม่. การตั้งค่าถูกเก็บในไฟล์และใช้ร่วมกัน แอปพลิเคชันตัวดูอาจเคารพการตั้งค่าผู้ใช้ แต่ไฟล์เองมีชุดคุณสมบัติมุมมองเพียงชุดเดียว

ฉันสามารถเตรียมเทมเพลตที่มี View Properties กำหนดล่วงหน้าเพื่อให้การนำเสนอใหม่เปิดแบบเดียวกันได้หรือไม่?

ได้. เนื่องจาก view properties ถูกเก็บระดับการนำเสนอ คุณสามารถฝังไว้ในเทมเพลตและสร้างเอกสารใหม่จากมันโดยมีการตั้งค่ามุมมองเริ่มต้นเดียวกัน