ดึงและอัปเดตคุณสมบัติมุมมองการนำเสนอใน Python ผ่าน Java

บทนำ

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

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

คลาส NormalViewProperties และ NormalViewRestoredProperties และ enumeration SplitterBarStateType ได้ถูกเพิ่มเข้ามา.

เกี่ยวกับ NormalViewProperties

แสดงคุณสมบัติการมุมมองปกติ.

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

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

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

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

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

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

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

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

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

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

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, SplitterBarStateType

presentation = Presentation()
try:
    normal_view_properties = presentation.getViewProperties().getNormalViewProperties()
    normal_view_properties.setHorizontalBarState(SplitterBarStateType.Restored)
    normal_view_properties.setVerticalBarState(SplitterBarStateType.Maximized)

    # กู้คืนคุณสมบัติมุมมองของการนำเสนอ.
    normal_view_properties.getRestoredTop().setAutoAdjust(True)
    normal_view_properties.getRestoredTop().setDimensionSize(80)
    normal_view_properties.setShowOutlineIcons(True)

    presentation.save("presentation_normal_view_state.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

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

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

  1. สร้างอินสแตนซ์ของคลาส Presentation.
  2. ตั้งค่า View Properties ของ Presentation.
  3. บันทึกการนำเสนอเป็นไฟล์ PPTX.

ในตัวอย่างด้านล่าง, เราตั้งค่าการซูมสำหรับทั้งมุมมองสไลด์และมุมมองบันทึกย่อ.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation()
try:
    # ตั้งค่าคุณสมบัติมุมมองของการนำเสนอ.
    presentation.getViewProperties().getSlideViewProperties().setScale(100)  # เปอร์เซ็นต์การซูมสำหรับมุมมองสไลด์.
    presentation.getViewProperties().getNotesViewProperties().setScale(100)  # เปอร์เซ็นต์การซูมสำหรับมุมมองบันทึกย่อ.

    presentation.save("Zoom_out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

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

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

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

ฉันสามารถกำหนดสถานะการมองล่วงหน้าสำหรับผู้ใช้คนต่าง ๆ ได้หรือไม่?

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

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

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