Funkcijos ir galimybės

Funkcijos ir galimybės

Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx failus programiškai. Šiame puslapyje išvardyti visi palaikomi funkcionalumo sritys su atitinkamais kodo pavyzdžiais.


Pateikties I/O

Atidarykite esamą .pptx failą arba sukurkite naują, tada išsaugokite atgal į PPTX formatą.

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)

Pastaba: PPTX yra vienintelis palaikomas išsaugojimo formatas. Eksportavimas į PDF, HTML, SVG ar vaizdus neprieinamas.

Nežinomos XML dalys šaltinio faile išsaugomos nepakitusiomis išsaugojimo metu, todėl atidarius ir iš naujo išsaugant .pptx niekada nebus pašalintas turinys, kurio biblioteka dar nesupranta.


Skaidrių valdymas

Pridėkite, pašalinkite, klonuokite ir pertvarkykite skaidres.

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)

Formos

Pridėkite AutoShapes, PictureFrames, lenteles ir jungiklius į skaidrę.

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)

Lentelės

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)

Jungikliai

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)

Teksto formatavimas

Formatuokite tekstą pastraipos ir simbolio lygiu naudojant 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 nustato savybę aiškiai; NullableBool.NOT_DEFINED paveldi iš skaidrių šablono.


Užpildo tipai

Taikykite vientisą, gradientinį, rašto arba paveikslėlio užpildą figūromoms.

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)

Vaizdo efektai

Taikykite išorinį šešėlį, švytėjimą, minkštą kraštą, išblykimą, atspindį ir vidinį šešėlį figūromoms.

Efekto savybės prieinamos per shape.effect_format. Nustatykite outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect, arba inner_shadow_effect konfigūruoti kiekvieną atskirai.


3D Formatting

Taikykite 3D nuolydį, kamerą, apšvietimo sistemą, medžiagą ir išsikišimo gylį per shape.three_d_format. Tai valdo vizualinį gylį ir apšvietimo modelį formų atvaizdavimui PPTX peržiūros programose, kurios palaiko 3D efektus.


Pranešėjo pastabos

Pridėti pastabas prie bet kurios skaidrės naudojant 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)

Komentarai

Pridėkite susijusius komentarus su autoriaus informacija ir skaidrio pozicija.

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)

Įterpti paveikslėliai

Įterpti paveikslėlį iš failo kelio į pristatymą ir pridėti jį prie skaidrės kaip 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)

Dokumento savybės

Skaitykite ir rašykite pagrindines, programos ir pasirinktines dokumento savybes.

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)

Žinomi apribojimai

Šios sritys kelia NotImplementedError ir nėra prieinamos šioje leidimo versijoje:

SritisBūsena
DiagramosNeįgyvendinta
SmartArtNeįgyvendinta
Animacijos ir perėjimaiNeįgyvendinta
PDF / HTML / SVG / vaizdo eksportavimasNeįgyvendinta (tik PPTX)
VBA makrokomandosNeįgyvendinta
Skaitmeniniai parašaiNeįgyvendinta
Hipersaitai ir veiksmų nustatymaiNeįgyvendinta
OLE objektaiNeįgyvendinta
Matematinis tekstasNeįgyvendinta

Taip pat žiūrėkite

 Lietuvių