Pengantar

Aspose.Slides FOSS for Python gives you full control over the PowerPoint presentation siklus hidup membuat deck dari awal, menambahkan dan mengatur ulang slide, mengisi mereka dengan bentuk, tabel dan teks yang diformat, dan menyimpan hasil ke PPTX, ODP, PDF, atau Semua ini terjadi dalam Python murni tanpa ketergantungan pada Microsoft Office atau binary eksternal.

Perpustakaan ini tersedia di PyPI sebagai: aspose-slides-foss di bawah lisensi MIT. Install dengan itu pip, impor, dan mulai membangun presentasi dalam beberapa baris kode. Apakah Anda mengotomatiskan generasi laporan, membangun pipa slide-deck, atau menyematkan presentasi output dalam aplikasi web, API mencakup seluruh permukaan: slide koleksi, slide master/layout, kumpulan bentuk, bingkai teks, format isian, dan opsi ekspor.

Posting ini berjalan melalui kemampuan manajemen presentasi inti kelas dan metode yang akan Anda gunakan paling banyak saat bekerja dengan slide di Python.


Apa yang Termasuk?

Presentasi Siklus hidup

Pengelolaan Presentation membuat dek baru, memanipulasi isinya, dan kemudian mengubahnya menjadi sebuah game., dan menyimpan ke format yang didukung. Presentasi mendukung protokol context-manager, Jadi sumber daya dilepaskan secara otomatis.

import io
from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    # A new presentation starts with one blank slide
    print("Slides:", len(pres.slides))  # 1

    # Save to a file
    pres.save("output.pptx", SaveFormat.PPTX)

    # Or save to a stream
    buf = io.BytesIO()
    pres.save(buf, SaveFormat.PPTX)

Operasi Pengumpulan Slide

SlideCollection memungkinkan Anda menambahkan, memasukkan, kloning, menghapus, dan mengatur ulang slide. Setiap operasi memperbarui indeks internal sehingga len(pres.slides) selalu mencerminkan hitungan saat ini.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    layout = pres.layout_slides[0]

    # Add a blank slide using the first layout
    pres.slides.add_empty_slide(layout)

    # Insert at a specific position
    pres.slides.insert_empty_slide(1, layout)

    # Clone an existing slide (shapes are copied)
    pres.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 200, 100)
    pres.slides.add_clone(pres.slides[0])

    print("Total slides:", len(pres.slides))  # 4

    # Remove by index
    pres.slides.remove_at(3)

Bentuk dan AutoShapes

Tambahkan persegi panjang, elips, segitiga dan bentuk geometri lainnya ke slide via ShapeCollection.add_auto_shape().Setiap bentuk menunjukkan posisi, ukuran, rotasi., dan mengisi sifat yang bertahan selama siklus menyimpan/memuat ulang.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    rect = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
    rect.rotation = 15

    ellipse = slide.shapes.add_auto_shape(ShapeType.ELLIPSE, 400, 50, 200, 200)

    # Reorder z-index
    slide.shapes.reorder(0, ellipse)
    print("Front shape:", slide.shapes[0].shape_type)  # ELLIPSE

Tabel-tabel

Buat tabel data dengan ShapeCollection.add_table(), mengatur teks sel melalui TextFrame, menggabungkan sel, dan menerapkan pemformatan batas. Tinggi baris dan kolom lebar cocok dengan nilai yang Anda berikan kepada konstruktor.

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

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    table = slide.shapes.add_table(50, 50, [150, 150, 150], [40, 40, 40])
    table.rows[0][0].text_frame.text = "Name"
    table.rows[0][1].text_frame.text = "Role"
    table.rows[0][2].text_frame.text = "Team"

    # Merge two cells in the second row
    table.merge_cells(table.rows[1][0], table.rows[1][1], False)

    # Style the header row borders
    for col_idx in range(len(table.columns)):
        fmt = table.rows[0][col_idx].cell_format
        fmt.border_bottom.fill_format.fill_type = FillType.SOLID
        fmt.border_bottom.fill_format.solid_fill_color.color = Color.black
        fmt.border_bottom.width = 2

Slide Master dan Layout

Setiap presentasi memiliki hierarki dari master slide dan layout slides. Akses mereka melalui Presentation.masters dan (b) Presentation.layout_slides untuk menerapkan secara konsisten Memformatting di seluruh dek Anda.

from aspose.slides_foss import Presentation

with Presentation() as pres:
    master = pres.masters[0]
    print("Master layouts:", len(master.layout_slides))

    # Pick a layout by type
    from aspose.slides_foss import SlideLayoutType
    title_layout = pres.layout_slides.get_by_type(SlideLayoutType.TITLE)
    if title_layout:
        pres.slides.add_empty_slide(title_layout)

Properti dokumen

Membaca dan menulis metadata built-in seperti judul, penulis, dan subjek melalui DocumentProperties properti tetap di file yang disimpan.

from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    props = pres.document_properties
    props.title = "Quarterly Report"
    props.author = "Engineering"
    props.subject = "Q1 2026 Results"

    pres.save("report.pptx", SaveFormat.PPTX)

Memulai dengan cepat

pip install aspose-slides-foss
from aspose.slides_foss import Presentation, ShapeType, FillType, NullableBool
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    # Add a title shape
    title = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 30, 860, 80)
    tf = title.add_text_frame("Quarterly Report")
    tf.paragraphs[0].portions[0].portion_format.font_bold = NullableBool.TRUE
    tf.paragraphs[0].portions[0].portion_format.font_height = 28

    # Add a data table
    table = slide.shapes.add_table(50, 150, [200, 200, 200], [40, 40, 40])
    headers = ["Region", "Revenue", "Growth"]
    for i, h in enumerate(headers):
        table.rows[0][i].text_frame.text = h

    # Fill the title shape background
    title.fill_format.fill_type = FillType.SOLID
    title.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 51, 102)

    # Save as PPTX
    pres.save("report.pptx", SaveFormat.PPTX)

Format yang Didhukung

Format (Inggris)PerpanjanganBacalah.Menulis
PPTX.pptx (dalam bahasa Inggris)
PPT.pptDianjurkan
PPSX.ppsx (dalam bahasa Inggris)Dianjurkan
PPTM.pptmDianjurkan
POTX.potxDianjurkan
ODP.odpDianjurkan
PDF.pdf (dalam bahasa Inggris)Dianjurkan
HTML.html (dalam bahasa Inggris)Dianjurkan
HTML5.html (dalam bahasa Inggris)Dianjurkan
TIFF. TiffDianjurkan
GIF.gif (berupa gambar)Dianjurkan
XPS.xpsDianjurkan
FODP.fodpDianjurkan
MD.mdDianjurkan

Catatan: Saat ini hanya PPTX ekspor yang diimplementasikan. Nilai format lain ada dalam SaveFormat ini untuk kompatibilitas ke depan tetapi belum berfungsi. save() metode selalu menghasilkan output PPTX terlepas dari parameter format.


Open Source & Lisensi

Aspose.Slides FOSS for Python is released under the MIT license. You can use it in proyek pribadi, akademik dan komersial tanpa batasan. Kode sumber adalah tersedia pada tanggal: GitHub dan paket ini diterbitkan pada tanggal PyPI.


Memulai