Fitur dan Kemampuan

Fitur dan Kemampuan

Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx file secara programatik. Halaman ini mencantumkan semua area fitur yang didukung dengan contoh kode representatif.


I/O Presentasi

Buka yang ada .pptx file atau buat yang baru, lalu simpan kembali ke format PPTX.

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

# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
    print(f"Slide count: {len(prs.slides)}")
    prs.save("output.pptx", SaveFormat.PPTX)

# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
    prs.save("new.pptx", SaveFormat.PPTX)

Catatan: PPTX adalah satu-satunya format penyimpanan yang didukung. Ekspor ke PDF, HTML, SVG, atau gambar tidak tersedia.

Bagian XML yang tidak dikenal dalam file sumber dipertahankan persis saat disimpan, sehingga membuka dan menyimpan kembali sebuah .pptx tidak akan pernah menghapus konten yang belum dipahami oleh perpustakaan.


Manajemen Slide

Tambah, hapus, kloning, dan urutkan kembali slide.

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

with slides.Presentation() as prs:
    # Access the first slide
    slide = prs.slides[0]

    # Add an additional blank slide at the end
    prs.slides.add_empty_slide(prs.layout_slides[0])

    print(f"Total slides: {len(prs.slides)}")
    prs.save("multi-slide.pptx", SaveFormat.PPTX)

Bentuk

Tambahkan AutoShapes, PictureFrames, Tabel, dan Connectors ke sebuah slide.

AutoShapes

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    # Add a rectangle at (x=50, y=50) with width=300, height=100
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
    shape.add_text_frame("Aspose.Slides FOSS")
    prs.save("shapes.pptx", SaveFormat.PPTX)

Tabel

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    # Column widths and row heights in points
    col_widths = [120.0, 120.0, 120.0]
    row_heights = [40.0, 40.0, 40.0]
    table = slide.shapes.add_table(50, 50, col_widths, row_heights)
    table.rows[0][0].text_frame.text = "Product"
    table.rows[0][1].text_frame.text = "Quantity"
    table.rows[0][2].text_frame.text = "Price"
    prs.save("table.pptx", SaveFormat.PPTX)

Connectors

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
    box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
    conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
    conn.start_shape_connected_to = box1
    conn.start_shape_connection_site_index = 3  # right side
    conn.end_shape_connected_to = box2
    conn.end_shape_connection_site_index = 1    # left side
    prs.save("connector.pptx", SaveFormat.PPTX)

Pemformatan Teks

Format teks pada tingkat paragraf dan karakter menggunakan PortionFormat.

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:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold blue heading")

    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("text.pptx", SaveFormat.PPTX)

NullableBool.TRUE menetapkan properti secara eksplisit; NullableBool.NOT_DEFINED mewarisi dari master slide.


Jenis Isian

Terapkan isian padat, gradasi, pola, atau gambar pada bentuk.

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)

    # Solid fill
    shape.fill_format.fill_type = FillType.SOLID
    shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)

    prs.save("fill.pptx", SaveFormat.PPTX)

Efek Visual

Terapkan bayangan luar, cahaya bersinar, tepi lembut, blur, refleksi, dan bayangan dalam pada bentuk.

Properti efek dapat diakses melalui shape.effect_format. Atur outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect, atau inner_shadow_effect untuk mengonfigurasi masing-masing secara terpisah.


3D Formatting

Terapkan bevel 3D, kamera, rig cahaya, material, dan kedalaman ekstrusi melalui shape.three_d_format. Ini mengontrol kedalaman visual dan model pencahayaan untuk perenderan bentuk dalam penampil PPTX yang mendukung efek 3D.


Catatan Pembicara

Lampirkan catatan ke slide mana pun menggunakan notes_slide_manager.

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

with slides.Presentation() as prs:
    notes = prs.slides[0].notes_slide_manager.add_notes_slide()
    notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
    prs.save("notes.pptx", SaveFormat.PPTX)

Komentar

Tambahkan komentar berutas dengan informasi penulis dan posisi slide.

import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime

with slides.Presentation() as prs:
    author = prs.comment_authors.add_author("Jane Smith", "JS")
    slide = prs.slides[0]
    author.comments.add_comment(
        "Please verify this data before the presentation.",
        slide,
        PointF(2.0, 2.0),
        datetime.now()
    )
    prs.save("comments.pptx", SaveFormat.PPTX)

Gambar Tersemat

Sematkan gambar dari jalur file ke dalam presentasi dan tambahkan ke slide sebagai PictureFrame.

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

with slides.Presentation() as prs:
    with open("logo.png", "rb") as f:
        image_data = f.read()
    image = prs.images.add_image(image_data)
    slide = prs.slides[0]
    slide.shapes.add_picture_frame(
        slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
    )
    prs.save("with-image.pptx", SaveFormat.PPTX)

Properti Dokumen

Baca dan tulis properti dokumen inti, aplikasi, dan khusus.

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

with slides.Presentation() as prs:
    props = prs.document_properties

    # Core properties
    props.title = "Q1 Results"
    props.author = "Finance Team"
    props.subject = "Quarterly Review"
    props.keywords = "Q1, finance, results"

    # Custom property
    props.set_custom_property_value("ReviewedBy", "Legal Team")

    prs.save("deck.pptx", SaveFormat.PPTX)

Keterbatasan yang Diketahui

Area berikut menimbulkan NotImplementedError dan tidak tersedia dalam edisi ini:

AreaStatus
DiagramBelum diimplementasikan
SmartArtBelum diimplementasikan
Animasi dan transisiBelum diimplementasikan
Ekspor PDF / HTML / SVG / gambarBelum diimplementasikan (hanya PPTX)
Makro VBABelum diimplementasikan
Tanda tangan digitalBelum diimplementasikan
Tautan hiper dan pengaturan aksiBelum diimplementasikan
Objek OLETidak diimplementasikan
Teks matematikaTidak diimplementasikan

Lihat Juga

 Bahasa Indonesia