ดึงข้อมูลและอัปเดตคุณสมบัติมุมมองการนำเสนอใน JavaScript

บทนำ

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

Method ViewProperties.getNormalViewProperties ได้เพิ่มเพื่อให้เข้าถึงคุณสมบัติมุมมองปกติของการนำเสนอ.

ได้เพิ่มคลาส NormalViewProperties, NormalViewRestoredProperties และคลาสลูกของมัน, และ enum SplitterBarStateType

เกี่ยวกับ NormalViewProperties

แทนคุณสมบัติมุมมองปกติ.

เมธอด getShowOutlineIcons และ setShowOutlineIcons ระบุว่าควรแสดงไอคอนเมื่อแสดงเนื้อหาโครงร่างในพื้นที่เนื้อหาใด ๆ ของโหมดมุมมองปกติหรือไม่.

เมธอด getSnapVerticalSplitter และ setSnapVerticalSplitter ระบุว่าตัวแบ่งแนวตั้งควรสแนปไปสภาวะย่อส่วนเมื่อพื้นที่ด้านข้างมีขนาดเล็กพอ.

คุณสมบัติ getPreferSingleView และ setPreferSingleView ระบุว่าผู้ใช้ต้องการดูพื้นที่เนื้อหาเดียวเต็มหน้าต่างแทนมุมมองปกติมาตรฐานที่มีสามพื้นที่หรือไม่. หากเปิดใช้งาน, แอปพลิเคชันอาจเลือกแสดงหนึ่งในพื้นที่เนื้อหาในหน้าต่างทั้งหมด.

เมธอด getVerticalBarState และ getHorizontalBarState ระบุสถานะที่แถบแบ่งแนวตั้งหรือแนวนอนควรแสดง. แถบแบ่งแนวนอนแยกสไลด์จากพื้นที่เนื้อหาด้านล่างสไลด์, แถบแบ่งแนวตั้งแยกสไลด์จากพื้นที่เนื้อหาด้านข้าง. ค่าที่เป็นไปได้ ได้แก่ SplitterBarStateType.Minimized, SplitterBarStateType.Maximized และ SplitterBarStateType.Restored.

เมธอด getRestoredLeft และ getRestoredTop ระบุการกำหนดขนาดของพื้นที่ส่วนบนหรือด้านข้างของมุมมองปกติ, เมื่อใช้ค่า SplitterBarStateType.Restored กับ getVerticalBarState และ getHorizontalBarState ตามลำดับ.

เกี่ยวกับการกู้คืน NormalViewProperties

ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ getRestoredTop, ความสูงเมื่อเป็นลูกของ getRestoredLeft) ของมุมมองปกติ, เมื่อพื้นที่มีขนาดที่กู้คืนได้ (ไม่ย่อส่วนและไม่ขยายเต็ม).

เมธอด getDimensionSize ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ restoredTop, ความสูงเมื่อเป็นลูกของ restoredLeft).

เมธอด getAutoAdjust ระบุว่าพื้นที่เนื้อหาด้านข้างควรปรับขนาดให้ชดเชยขนาดใหม่เมื่อเปลี่ยนขนาดหน้าต่างที่บรรจุมุมมองภายในแอปพลิเคชันหรือไม่.

ตัวอย่างด้านล่างแสดงวิธีการเข้าถึงคุณสมบัติ ViewProperties.getNormalViewProperties สำหรับการนำเสนอ.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

var pres = new aspose.slides.Presentation();
try {
    pres.getViewProperties().getNormalViewProperties().setHorizontalBarState(aspose.slides.SplitterBarStateType.Restored);
    pres.getViewProperties().getNormalViewProperties().setVerticalBarState(aspose.slides.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", aspose.slides.SaveFormat.Pptx);
} finally {
    pres.dispose();
}

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

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

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. ตั้งค่า View Properties ของ Presentation
  3. เขียนการนำเสนอเป็นไฟล์ PPTX ในตัวอย่างด้านล่าง เราได้ตั้งค่าค่าซูมสำหรับมุมมองสไลด์และมุมมองบันทึกบันทึก (notes view).
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

var presentation = new aspose.slides.Presentation();
try {
    // ตั้งค่าคุณสมบัติมุมมองของการนำเสนอ
    presentation.getViewProperties().getSlideViewProperties().setScale(100); // ค่าซูมเป็นเปอร์เซนต์สำหรับมุมมองสไลด์
    presentation.getViewProperties().getNotesViewProperties().setScale(100); // ค่าซูมเป็นเปอร์เซนต์สำหรับมุมมองบันทึก
    presentation.save("Zoom_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

ตั้งค่าระยะห่างของ Grid

ใช้ Presentation.getViewProperties เพื่อเข้าถึงการตั้งค่ามุมมองระดับการนำเสนอทั้งหมด. เมธอด ViewProperties.getGridSpacing และ ViewProperties.setGridSpacing ใช้เพื่ออ่านหรือเปลี่ยนช่วงของกริดการแก้ไขพื้นฐาน. การตั้งค่านี้ใช้กับการนำเสนอทั้งหมด, ไม่ใช่กับสไลด์แต่ละสไลด์. ระยะห่างของกริดระบุเป็นจุด, โดย 72 จุดเท่ากับหนึ่งนิ้ว. ใช้ค่าบวกตามที่เอกสาร API ระบุ.

ตัวอย่างต่อไปนี้เปิดไฟล์ demo.pptx ที่มีอยู่, พิมพ์ระยะห่างกริดปัจจุบัน, ตั้งช่วงหนึ่งในสี่นิ้ว, และบันทึกผลลัพธ์.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

var presentation = new aspose.slides.Presentation("demo.pptx");
try {
    var gridSpacing = presentation.getViewProperties().getGridSpacing();
    console.log("Current grid spacing: " + gridSpacing + " points");

    presentation.getViewProperties().setGridSpacing(18);
    presentation.save("grid-spacing.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

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

ทั้งกริดและ drawing guides เป็นเครื่องมือช่วยการแก้ไข. พวกมันไม่ได้ถูกแสดงเป็นเนื้อหาสไลด์ใน PDF, ภาพ, SVG หรือการแสดงสไลด์โชว์. การบันทึกระยะห่างของกริดไม่รับประกันว่าโปรแกรมแก้ไขจะเผยกริด: ความมองเห็นยังขึ้นอยู่กับการตั้งค่าของผู้ดูหรือโปรแกรมแก้ไข.

แสดงหรือซ่อนความคิดเห็นเมื่อเปิดการนำเสนอ

ใช้ Presentation.getViewProperties เพื่อเข้าถึงการตั้งค่ามุมมองระดับการนำเสนอทั้งหมด. ใช้ ViewProperties.getShowComments และ ViewProperties.setShowComments เพื่ออ่านหรือเปลี่ยนการตั้งค่าที่บันทึกไว้ว่าความคิดเห็นควรแสดงเมื่อการนำเปิดใน PowerPoint หรือโปรแกรมที่เข้ากันได้อื่นหรือไม่.

การตั้งค่านี้ควบคุมเพียงการตั้งค่ามุมมองที่บันทึกไว้. มันไม่ได้เพิ่ม, ลบ, แก้ไข, หรือแก้ไขความเห็น. การซ่อนความคิดเห็นจะคงเนื้อหา, ผู้เขียน, ตำแหน่ง, การตอบกลับ, และสถานะของความคิดเห็นไว้. ดูที่ Presentation Comments สำหรับการดำเนินการที่เปลี่ยนแปลงความคิดเห็นเอง.

ตัวอย่างต่อไปนี้ต้องมีไฟล์ comments.pptx ที่มีความคิดเห็นอยู่. มันพิมพ์การตั้งค่าการมองเห็นปัจจุบัน, ขอให้ซ่อนความคิดเห็น, และบันทึกไฟล์ PPTX ใหม่โดยไม่ลบความคิดเห็นใด ๆ. นอกจากนี้ยังใช้ ViewProperties.setLastView ร่วมกับ ViewType.SlideView เพื่อกำหนดมุมมองการแก้ไขเริ่มต้นพร้อมกับการมองเห็นความคิดเห็น.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

var presentation = new aspose.slides.Presentation("comments.pptx");
try {
    var showComments = presentation.getViewProperties().getShowComments();
    console.log("Current comment visibility: " + showComments);

    var hideComments = java.newByte(aspose.slides.NullableBool.False);
    presentation.getViewProperties().setShowComments(hideComments);
    presentation.getViewProperties().setLastView(aspose.slides.ViewType.SlideView);
    presentation.save("comments-hidden.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

การตั้งค่านี้ไม่ได้กำหนดว่าความคิดเห็นจะรวมอยู่ในการส่งออกเป็น PDF, HTML, ภาพ, โน๊ต, หรือเอกสารแจกหรือไม่. ควรกำหนดตัวเลือกการส่งออกระหว่างประเภทนั้นแยกกัน.

คำถามที่พบบ่อย

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

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

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

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

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

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

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

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

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

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