ดึงและอัปเดตคุณสมบัติมุมมองของการนำเสนอใน PHP
บทนำ
มุมมองปกติมีสามพื้นที่เนื้อหา: สไลด์เอง, พื้นที่เนื้อหาด้านข้าง, และพื้นที่เนื้อหาด้านล่าง. คุณสมบัติที่เกี่ยวกับการจัดตำแหน่งของพื้นที่เนื้อหาต่าง ๆ. ข้อมูลนี้ช่วยให้แอปพลิเคชันบันทึกสถานะการมองเห็นลงในไฟล์ เพื่อให้เมื่อเปิดใหม่มุมมองจะอยู่ในสภาพเดียวกับเมื่อบันทึกการนำเสนอครั้งสุดท้าย.
Method ViewProperties::getNormalViewProperties ได้ถูกเพิ่มเพื่อให้เข้าถึงคุณสมบัติมุมมองปกติของการนำเสนอ.
คลาส NormalViewProperties, NormalViewRestoredProperties และคลาสลูกของมัน, เอง enum SplitterBarStateType ได้ถูกเพิ่ม.
เกี่ยวกับ INormalViewProperties
แทนคุณสมบัติมุมมองปกติ.
Method getShowOutlineIcons และ setShowOutlineIcons ระบุว่าแอปพลิเคชันควรแสดงไอคอนหรือไม่เมื่อแสดงเนื้อหาโครงร่างในพื้นที่เนื้อหาใด ๆ ของโหมดมุมมองปกติ.
Method getSnapVerticalSplitter และ setSnapVerticalSplitter ระบุว่าตัวแบ่งแนวตั้งควรสแนปไปสู่สถานะย่อเมื่อพื้นที่ด้านข้างมีขนาดเล็กรุนแรงพอ.
Property getPreferSingleView และ setPreferSingleView ระบุว่าผู้ใช้ต้องการเห็นพื้นที่เนื้อหาเดียวเต็มหน้าต่างแทนการมองเห็นปกติแบบสามพื้นที่หรือไม่ หากเปิดใช้งาน แอปพลิเคชันอาจเลือกแสดงหนึ่งในพื้นที่เนื้อหาให้เต็มหน้าต่าง.
Method getVerticalBarState และ getHorizontalBarState ระบุสถานะที่แถบแบ่งแนวนอนหรือแนวตั้งควรแสดง แถบแบ่งแนวนอนแยกสไลด์จากพื้นที่เนื้อหาด้านล่างสไลด์, แถบแบ่งแนวตั้งแยกสไลด์จากพื้นที่เนื้อหาด้านข้าง. ค่าที่เป็นไปได้คือ: SplitterBarStateType::Minimized, SplitterBarStateType::Maximized และ SplitterBarStateType::Restored.
Method getRestoredLeft และ getRestoredTop ระบุขนาดของพื้นที่สไลด์ด้านบนหรือด้านข้างของมุมมองปกติ เมื่อค่ SplitterBarStateType::Restored ถูกนำไปใช้กับ getVerticalBarState และ getHorizontalBarState ตามลำดับ.
เกี่ยวกับการคืนค่า INormalViewProperties
ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ getRestoredTop, ความสูงเมื่อเป็นลูกของ getRestoredLeft) ของมุมมองปกติ เมื่อพื้นที่นั้นมีขนาดที่คืนค่าได้แบบแปรเปลี่ยน (ไม่ย่อและไม่ขยายสูงสุด).
Method getDimensionSize ระบุขนาดของพื้นที่สไลด์ (ความกว้างเมื่อเป็นลูกของ restoredTop, ความสูงเมื่อเป็นลูกของ restoredLeft).
Method getAutoAdjust ระบุว่าขนาดของพื้นที่เนื้อหาด้านข้างควรปรับให้สอดคล้องกับขนาดใหม่เมื่อปรับขนาดหน้าต่างที่บรรจุมุมมองภายในแอปพลิเคชันหรือไม่.
ตัวอย่างด้านล่างแสดงวิธีเข้าถึงคุณสมบัติของ ViewProperties::getNormalViewProperties สำหรับการนำเสนอ.
$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 = 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();
}
ตั้งค่าการเว้นระยะกริด
ใช้ Presentation::getViewProperties เพื่อเข้าถึงการตั้งค่ามุมมองทั่วทั้งการนำเสนอ. เมธอด ViewProperties::getGridSpacing และ ViewProperties::setGridSpacing อ่านหรือเปลี่ยนช่วงของกริดการแก้ไขพื้นฐาน. การตั้งค่านี้ใช้กับการนำเสนอทั้งหมด ไม่ใช่สไลด์เดี่ยว. การเว้นระยะกริดระบุเป็นจุด, โดย 72 จุดเท่ากับหนึ่งนิ้ว. ใช้ค่าเป็นบวกตามที่เอกสาร API กำหนด.
ตัวอย่างต่อไปเปิดไฟล์ demo.pptx ที่มีอยู่, พิมพ์ค่าการเว้นระยะกริดปัจจุบัน, ตั้งค่าช่วงเป็นหนึ่งในสี่นิ้ว, แล้วบันทึกผลลัพธ์.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("demo.pptx");
try {
$gridSpacing = $presentation->getViewProperties()->getGridSpacing();
echo "Current grid spacing: " . $gridSpacing . " points\n";
$presentation->getViewProperties()->setGridSpacing(18.0);
$presentation->save("grid-spacing.pptx", 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 เพื่อตั้งค่ามุมมองแก้ไขเริ่มต้นพร้อมกับการมองเห็นของความคิดเห็น.
use aspose\slides\NullableBool;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ViewType;
$presentation = new Presentation("comments.pptx");
try {
$showComments = $presentation->getViewProperties()->getShowComments();
echo "Current comment visibility: " . java_values($showComments) . PHP_EOL;
$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 ไม่ทำให้ช่วงกริดที่บันทึกเปลี่ยนแปลง.
ฉันสามารถตั้งค่ามุมมองที่แตกต่างกันสำหรับส่วนต่าง ๆ ของการนำเสนอได้หรือไม่?
การตั้งค่า View settings ถูกกำหนดระดับการนำเสนอ (Normal View/Slide View), ไม่ใช่ต่อส่วน, ดังนั้นชุดพารามิเตอร์เดียวจะใช้กับเอกสารทั้งหมดเมื่อเปิด.
ฉันสามารถกำหนดสถานะมุมมองที่ต่างกันสำหรับผู้ใช้ต่าง ๆ ได้หรือไม่?
ไม่ได้. การตั้งค่าถูกเก็บในไฟล์และใช้ร่วมกัน แอปพลิเคชันผู้ชมอาจเคารพการตั้งค่าผู้ใช้, แต่ไฟล์เองมีชุดคุณสมบัติมุมมองเดียว.
ฉันสามารถเตรียมเทมเพลตที่มี View Properties ที่กำหนดไว้ล่วงหน้าเพื่อให้การนำเสนอใหม่เปิดในวิธีเดียวกันได้หรือไม่?
ได้. เนื่องจาก view properties ถูกเก็บระดับการนำเสนอ, คุณจึงสามารถฝังไว้ในเทมเพลตและสร้างเอกสารใหม่จากเทมเพลตนั้นด้วยการตั้งค่ามุมมองเริ่มต้นเดียวกัน.