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

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

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

ฉันจะติดตั้ง Aspose.Slides FOSS อย่างไร?

ติดตั้งจาก PyPI ด้วย pip. ต้องใช้ Python 3.10 หรือใหม่กว่า.

pip install aspose-slides-foss

ตรวจสอบการติดตั้ง:

import aspose.slides_foss as slides
with slides.Presentation() as prs:
    print(f"Slides: {len(prs.slides)}")

การพึ่งพา lxml จะถูกติดตั้งโดยอัตโนมัติ ไม่จำเป็นต้องใช้ Microsoft Office หรือ runtime ระบบอื่นใด


ทำไมฉันต้องใช้ with slides.Presentation() as prs:?

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

ให้ทำตามรูปแบบนี้เสมอ:

with slides.Presentation("input.pptx") as prs:
    # work here
    prs.save("output.pptx", SaveFormat.PPTX)

ฉันสามารถบันทึกเป็นรูปแบบไฟล์ใดได้บ้าง?

enum SaveFormat กำหนดค่าคงที่สำหรับหลายรูปแบบ — PPTX, PDF, HTML, SVG, JPEG, PNG, และอื่น ๆ — เพื่อความเข้ากันได้ของ API กับรุ่นเชิงพาณิชย์. ในระหว่างการทำงานของรุ่น FOSS นี้ การเรียก save() ทั้งหมดจะละเลยอาร์กิวเมนต์รูปแบบและจะเขียนผลลัพธ์เป็น PPTX เสมอ. การส่ง SaveFormat.PDF จะคอมไพล์และทำงานโดยไม่มีข้อผิดพลาด แต่จะสร้างไฟล์ .pptx ไม่ใช่ .pdf.

from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)

การส่งออกเป็นรูปแบบที่ไม่ใช่ PPTX ไม่พร้อมใช้งานในรุ่นนี้ ใช้ SaveFormat.PPTX สำหรับการบันทึกทั้งหมด.


ฉันสามารถเปิดไฟล์ .ppt (PowerPoint รุ่นเก่า 97–2003) ได้หรือไม่?

ไม่. รองรับเฉพาะไฟล์ .pptx (Office Open XML) เท่านั้น. รูปแบบไบนารี .ppt รุ่นเก่าไม่ได้รับการจัดการโดยไลบรารีนี้.


ฉันจะเข้าถึงสไลด์ได้อย่างไร?

สไลด์เป็นรายการที่เริ่มต้นจากศูนย์และสามารถเข้าถึงได้ผ่าน prs.slides:

first_slide = prs.slides[0]
slide_count = len(prs.slides)

ฉันจะเพิ่มสไลด์ที่สองได้อย่างไร?

ใช้ prs.slides.add_empty_slide() พร้อมเค้าโครง:

with slides.Presentation() as prs:
    layout = prs.layout_slides[0]
    prs.slides.add_empty_slide(layout)
    slide2 = prs.slides[1]
    prs.save("two-slides.pptx", SaveFormat.PPTX)

ฉันจะตั้งค่าสีพื้นหลังของสไลด์อย่างไร?

การระบายสีพื้นหลังของสไลด์ ไม่พร้อมใช้งานในรุ่นนี้. คลาส Slide ไม่เปิดเผยคุณสมบัติ background. การพยายาม slide.background จะทำให้เกิด AttributeError. ฟีเจอร์นี้ยังไม่ได้รับการดำเนินการในเวอร์ชันปัจจุบัน.


ฉันจะใช้ NullableBoolอย่างไร?

NullableBool เป็น enum แบบสามสถานะที่ใช้สำหรับคุณสมบัติการจัดรูปแบบ ใช้ NullableBool.TRUE (ไม่ใช่ True ของ Python) สำหรับตัวหนา ตัวเอียง และคุณสมบัติที่คล้ายกัน:

from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED  # inherits from theme

ทำไมการตั้งค่าสีข้อความถึงไม่มีผล?

คุณต้องตั้งค่า fill_type = FillType.SOLID ก่อนที่จะกำหนดสี:

from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color

fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)

ฉันสามารถใช้แผนภูมิหรือ SmartArt ได้หรือไม่?

ไม่มี. แผนภูมิ, SmartArt, วัตถุ OLE, การเคลื่อนไหว, การเปลี่ยนฉาก, ลิงก์, แมโคร VBA, และลายเซ็นดิจิทัลไม่ได้รับการใช้งานในฉบับนี้และทำให้เกิด NotImplementedError.


ไลบรารีรองรับ Python 3.9 หรือไม่?

ไม่. จำเป็นต้องใช้ Python 3.10 หรือใหม่กว่า.


ไลบรารีนี้ปลอดภัยต่อการทำงานหลายเธรดหรือไม่?

แต่ละ Presentation object เป็นอิสระ การสร้างและใช้แยก Presentation instances จากเธรดแยกต่างหากนั้นปลอดภัย ตราบใดที่คุณไม่แชร์ Presentation object เพียงอันเดียวข้ามเธรดโดยไม่มีการล็อกภายนอก.


ฉันจะฝังรูปภาพได้อย่างไร?

อ่านไบต์ของภาพและเพิ่มลงใน prs.images, จากนั้นสร้าง PictureFrame:

with open("logo.png", "rb") as f:
    image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)

ดูเพิ่มเติม

 ภาษาไทย