บทนำ

Aspose.Slides FOSS for Python มีให้ใช้งานบน PyPI แล้ว: ไลบรารีฟรีที่มีใบอนุญาต MIT สำหรับการสร้าง, อ่าน และแก้ไขไฟล์ PowerPoint .pptx อย่างเต็มรูปแบบใน Python โดยไม่ต้องพึ่งพา Microsoft Office หรือ runtime ที่เป็นกรรมสิทธิ์ใด ๆ.

ไลบรารีนี้ออกแบบมาสำหรับนักพัฒนาที่ต้องการสร้างหรือจัดการไฟล์พรีเซนเทชันโดยโปรแกรม: การทำอัตโนมัติของสไลด์เด็คจากข้อมูล, การสกัดข้อความและเมตาดาต้าจากไฟล์ PPTX ที่อัปโหลด, การสร้างไพป์ไลน์การรายงานที่อิงพรีเซนเทชัน, หรือการฝังการสร้างพรีเซนเทชันลงในแอปพลิเคชันเว็บ. เนื่องจาก aspose-slides-foss เป็น Python แท้โดยมีเพียง lxml เป็นการพึ่งพาเดียว, มันสามารถปรับใช้ได้เหมือนกันบน Windows, macOS, Linux, และคอนเทนเนอร์ Docker.

คุณสมบัติหลัก

  • Full round-trip PPTX support: เปิดไฟล์ .pptx ใดก็ได้, แก้ไขเนื้อหาและบันทึกกลับโดยไม่สูญเสียส่วน XML ที่ไม่รู้จักซึ่งไลบรารียังไม่เข้าใจ
  • Slides management: เพิ่ม, ลบและวนซ้ำสไลด์โดยใช้ prs.slides; การนำเสนอจะเริ่มด้วยสไลด์เปล่า 1 แผ่นหลังจาก slides.Presentation()
  • AutoShapes, Tables, and Connectors: แทรกรูปทรงผ่าน slide.shapes.add_auto_shape(), ข้อมูลตารางผ่าน slide.shapes.add_table(), และตัวเชื่อมต่อภาพระหว่างรูปทรงผ่าน slide.shapes.add_connector()
  • Rich text formatting: จัดรูปแบบข้อความในระดับอักขระด้วย PortionFormat: ขนาดฟอนต์, ตัวหนา, ตัวเอียง, ขีดเส้นใต้, และสี ARGB ผ่าน FillType.SOLID และ Color.from_argb()
  • Fill types: ใช้การเติม FillType.SOLID, GRADIENT, PATTERN หรือ PICTURE กับรูปทรงใดก็ได้
  • Visual effects: เงานอก, แสงเรืองแสง, ขอบนุ่ม, เบลอ, การสะท้อน, และเงาภายในผ่าน shape.effect_format
  • 3D formatting: เบเวล, กล้อง, ระบบแสง, วัสดุ, และความลึกการดันออกผ่าน shape.three_d_format
  • Speaker notes: แนบข้อความบันทึกไปยังแต่ละสไลด์ผ่าน notes_slide_manager.add_notes_slide()
  • Threaded comments: เพิ่มคอมเมนต์พร้อมข้อมูลเมตาของผู้เขียนและตำแหน่งสไลด์
  • Embedded images: ฝังจากเส้นทางไฟล์, ไบต์, หรือสตรีม io.BytesIO
  • Document properties: อ่านและเขียนคุณสมบัติหลัก, แอป, และคุณสมบัติที่กำหนดเอง

เริ่มต้นใช้งาน

ติดตั้งจาก PyPI. Python 3.10 หรือใหม่กว่าเป็นสิ่งจำเป็น; lxml จะถูกติดตั้งโดยอัตโนมัติ.

pip install aspose-slides-foss

สร้างการนำเสนอแรกของคุณด้วยรูปทรงและบันทึกมัน:

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
    shape.add_text_frame("Hello from Aspose.Slides FOSS!")
    prs.save("hello.pptx", SaveFormat.PPTX)

ควรใช้ Presentation ภายในบล็อก with เสมอ; สิ่งนี้ทำให้ทรัพยากรภายในทั้งหมดถูกปล่อยเมื่อบล็อกสิ้นสุด.

ตัวอย่างการจัดรูปแบบข้อความ

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold heading in corporate blue")
    fmt = tf.paragraphs[0].portions[0].portion_format
    fmt.font_height = 28
    fmt.font_bold = NullableBool.TRUE
    fmt.fill_format.fill_type = FillType.SOLID
    fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
    prs.save("formatted.pptx", SaveFormat.PPTX)

ข้อจำกัดปัจจุบัน

พื้นที่ต่อไปนี้ทำให้เกิด NotImplementedError ในรุ่นนี้:

  • แผนภูมิ, SmartArt, และวัตถุ OLE
  • การเคลื่อนไหวและการเปลี่ยนสไลด์
  • ส่งออกเป็น PDF, HTML, SVG หรือรูปแบบภาพ
  • ไฮเปอร์ลิงก์, การตั้งค่าการกระทำ, แมโคร VBA, และลายเซ็นดิจิทัล

ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อบันทึก ดังนั้นไฟล์ PPTX ที่สร้างโดยเครื่องมืออื่นจึงสามารถทำการรอบทริปได้อย่างปลอดภัย.

ดูเพิ่มเติม