Ciri-ciri dan Keupayaan

Ciri-ciri dan Keupayaan

Aspose.Slides FOSS untuk Python menyediakan set kemampuan yang luas untuk bekerja dengan fail PowerPoint .pptx secara programatik. Halaman ini menyenaraikan semua bidang ciri yang disokong dengan contoh kod yang representatif.


Pembentangan I/O

Buka fail .pptx yang sedia ada atau buat yang baru, kemudian simpan semula dalam 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)

Nota: PPTX adalah satu-satunya format simpanan yang disokong. Eksport ke PDF, HTML, SVG, atau imej tidak tersedia.

Bahagian XML yang tidak diketahui dalam fail sumber dipelihara secara verbatim semasa menyimpan, jadi membuka dan menyimpan semula .pptx tidak akan pernah menanggalkan kandungan yang belum difahami oleh perpustakaan.


Pengurusan Slaid

Tambah, buang, klon, dan susun semula slaid.

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

Tambah AutoShapes, PictureFrames, Tables, dan Connectors ke slaid.

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)

Jadual

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)

Penyambung

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 peringkat perenggan dan aksara 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 sifat secara eksplisit; NullableBool.NOT_DEFINED mewarisi daripada slide master.


Jenis Pengisian

Terapkan isian pepejal, gradien, corak, 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)

Kesan Visual

Terapkan bayang luar, cahaya, tepi lembut, kabur, refleksi, dan bayang dalam pada bentuk.

Ciri kesan boleh diakses melalui shape.effect_format. Tetapkan outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect, atau inner_shadow_effect untuk mengkonfigurasi setiap satu secara bebas.


Pemformatan 3D

Gunakan bevel 3D, kamera, rig cahaya, bahan, dan kedalaman ekstrusi melalui shape.three_d_format. Ini mengawal kedalaman visual dan model pencahayaan untuk rendering bentuk dalam penonton PPTX yang menyokong kesan 3D.


Nota Penceramah

Lampirkan nota pada mana-mana slaid 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)

Komen

Tambah komen berulir dengan maklumat pengarang dan kedudukan slaid.

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)

Imej Terbenam

Benamkan imej dari laluan fail ke dalam persembahan dan tambahkan ke slaid 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)

Sifat Dokumen

Baca dan tulis sifat dokumen teras, aplikasi, dan tersuai.

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 Dikenali

Kawasan berikut memunculkan NotImplementedError dan tidak tersedia dalam edisi ini:

KawasanStatus
CartaTidak dilaksanakan
SmartArtTidak dilaksanakan
Animasi dan peralihanTidak dilaksanakan
Eksport PDF / HTML / SVG / imejTidak dilaksanakan (hanya PPTX)
Makro VBATidak dilaksanakan
Tandatangan digitalTidak dilaksanakan
Pautan hiperteks dan tetapan tindakanTidak dilaksanakan
Objek OLETidak dilaksanakan
Teks matematikTidak dilaksanakan

Lihat Juga

 Bahasa Melayu