บทนำ
Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx ไฟล์ทั้งหมดใน Python โดยไม่มีการพึ่งพา Microsoft Office หรือ runtime ที่เป็นกรรมสิทธิ์ใดๆ.
ไลบรารีนี้ออกแบบมาสำหรับนักพัฒนาที่ต้องการสร้างหรือจัดการไฟล์การนำเสนอโดยอัตโนมัติ: สร้างสไลด์เด็คจากข้อมูล, ดึงข้อความและเมตาดาต้าจากไฟล์ PPTX ที่อัปโหลด, สร้างสายงานการรายงานที่อิงการนำเสนอ, หรือฝังการสร้างการนำเสนอเข้าในเว็บแอปพลิเคชัน เนื่องจาก aspose-slides-foss เป็น Python แท้โดยมีเพียง lxml เป็นการพึ่งพาเดียว มันสามารถปรับใช้ได้อย่างเหมือนกันบน Windows, macOS, Linux, และคอนเทนเนอร์ Docker.
คุณลักษณะหลัก
- รองรับ PPTX แบบรอบเต็ม: เปิดไฟล์ใดก็ได้
.pptxไฟล์, แก้ไขเนื้อหา, และบันทึกกลับโดยไม่สูญเสียส่วน XML ที่ไม่รู้จักซึ่งไลบรารียังไม่เข้าใจ. - การจัดการสไลด์: เพิ่ม, ลบ, และวนซ้ำสไลด์โดยใช้
prs.slides; การนำเสนอจะเริ่มด้วยสไลด์เปล่า 1 แผ่นหลังจากslides.Presentation(). - AutoShapes, ตาราง, และคอนเนคเตอร์: แทรกรูปทรงผ่าน
slide.shapes.add_auto_shape(), ข้อมูลตารางผ่านslide.shapes.add_table(), และคอนเนคเตอร์ภาพระหว่างรูปทรงผ่านslide.shapes.add_connector(). - การจัดรูปแบบข้อความแบบ Rich: จัดรูปแบบข้อความในระดับอักขระด้วย
PortionFormat: ขนาดฟอนต์, ตัวหนา, ตัวเอียง, ขีดเส้นใต้, และสี ARGB ผ่านFillType.SOLIDและColor.from_argb(). - ประเภทการเติม: ใช้
FillType.SOLID,GRADIENT,PATTERN, หรือPICTUREเติมเต็มให้กับรูปทรงใดก็ได้. - เอฟเฟกต์ภาพ: เงานอก, แสงเรืองแสง, ขอบนุ่ม, เบลอ, การสะท้อน, และเงาภายในผ่าน
shape.effect_format. - 3D formatting: บีเวล, กล้อง, ระบบแสง, วัสดุ, และความลึกการดันออกผ่าน
shape.three_d_format. - บันทึกผู้พูด: แนบข้อความบันทึกไปยังแต่ละสไลด์ผ่าน
notes_slide_manager.add_notes_slide(). - ความคิดเห็นแบบเธรด: เพิ่มความคิดเห็นพร้อมข้อมูลเมตาของผู้เขียนและตำแหน่งสไลด์.
- รูปภาพฝัง: ฝังจากเส้นทางไฟล์, ไบต์, หรือ
io.BytesIOสตรีม. - คุณสมบัติของเอกสาร: อ่านและเขียนคุณสมบัติหลัก, แอป, และคุณสมบัติที่กำหนดเอง.
เริ่มต้นใช้งาน
ติดตั้งจาก 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 ที่สร้างโดยเครื่องมืออื่นจะทำการรอบทริปได้อย่างปลอดภัย.