Pendahuluan
Aspose.Slides FOSS for Python kini tersedia di PyPI: sebuah perpustakaan gratis berlisensi MIT untuk membuat, membaca, dan mengedit file PowerPoint .pptx sepenuhnya dalam Python, tanpa ketergantungan pada Microsoft Office atau runtime proprietari apa pun.
Perpustakaan ini dirancang untuk pengembang yang perlu menghasilkan atau memanipulasi file presentasi secara programatis: mengotomatisasi deck slide dari data, mengekstrak teks dan metadata dari file PPTX yang diunggah, membangun pipeline pelaporan berbasis presentasi, atau menyematkan pembuatan presentasi ke dalam aplikasi web. Karena aspose-slides-foss adalah Python murni dengan hanya lxml sebagai dependensi, ia dapat dideploy secara identik di Windows, macOS, Linux, dan kontainer Docker.
Fitur Utama
- Dukungan round-trip penuh PPTX: Buka file
.pptxapa pun, ubah isinya, dan simpan kembali tanpa kehilangan bagian XML yang tidak dikenal yang belum dipahami oleh perpustakaan. - Manajemen slide: Tambahkan, hapus, dan iterasi slide menggunakan
prs.slides; presentasi dimulai dengan satu slide kosong setelahslides.Presentation(). - AutoShapes, Tabel, dan Penghubung: Sisipkan bentuk melalui
slide.shapes.add_auto_shape(), data tabel melaluislide.shapes.add_table(), dan penghubung visual antar bentuk melaluislide.shapes.add_connector(). - Pemformatan teks kaya: Format teks pada tingkat karakter dengan
PortionFormat: ukuran font, tebal, miring, garis bawah, dan warna ARGB melaluiFillType.SOLIDdanColor.from_argb(). - Jenis isian: Terapkan isian
FillType.SOLID,GRADIENT,PATTERN, atauPICTUREpada bentuk apa pun. - Efek visual: Bayangan luar, cahaya bersinar, tepi lembut, blur, refleksi, dan bayangan dalam melalui
shape.effect_format. - Pemformatan 3D: Bevel, kamera, rig cahaya, material, dan kedalaman ekstrusi melalui
shape.three_d_format. - Catatan pembicara: Lampirkan teks catatan ke setiap slide melalui
notes_slide_manager.add_notes_slide(). - Komentar berutas: Tambahkan komentar dengan metadata penulis dan posisi slide.
- Gambar tersemat: Sematkan dari jalur file, byte, atau aliran
io.BytesIO. - Properti dokumen: Baca dan tulis properti inti, aplikasi, dan khusus.
Memulai
Instal dari PyPI. Python 3.10 atau yang lebih baru diperlukan; lxml diinstal secara otomatis.
pip install aspose-slides-foss
Buat presentasi pertama Anda dengan sebuah bentuk dan simpan:
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)
Selalu gunakan Presentation di dalam blok with; ini memastikan semua sumber daya internal dilepaskan ketika blok berakhir.
Contoh Pemformatan Teks
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)
Keterbatasan Saat Ini
Area berikut memunculkan NotImplementedError dalam rilis ini:
- Diagram, SmartArt, dan objek OLE
- Animasi dan transisi slide
- Ekspor ke PDF, HTML, SVG, atau format gambar
- Tautan hiper, pengaturan aksi, makro VBA, dan tanda tangan digital
Bagian XML yang tidak dikenal yang ditemui saat pemuatan dipertahankan secara verbatim saat disimpan, sehingga file PPTX yang dihasilkan oleh alat lain dapat melakukan round‑trip dengan aman.