Ciri-ciri dan Keupayaan

Ciri-ciri dan Keupayaan

Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx fail secara programatik. Halaman ini menyenaraikan semua kawasan ciri yang disokong dengan contoh kod yang representatif.


I/O Persembahan

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

Nota: PPTX adalah satu-satunya format simpan yang disokong. Mengeksport 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 satu .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, Jadual, dan Penyambung 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

Formatkan 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 Isian

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 berkilau, tepi lembut, kabur, pantulan, dan bayang dalam pada bentuk.

Sifat 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.


3D Formatting

Terapkan 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 Pembicara

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 berutas 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 daripada 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 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 Dikenali

Kawasan berikut menimbulkan 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 hiper dan tetapan tindakanTidak dilaksanakan
Objek OLETidak dilaksanakan
Teks matematikTidak dilaksanakan

Lihat Juga

 Bahasa Melayu