Funcționalități și Capacități
Funcționalități și Capacități
Aspose.Slides FOSS pentru Python oferă un set larg de capabilități pentru lucrul cu fișiere PowerPoint .pptx în mod programatic. Această pagină enumeră toate zonele de funcționalitate suportate cu exemple de cod reprezentative.
Prezentare I/O
Deschideți un fișier .pptx existent sau creaţi unul nou, apoi salvaţi-l înapoi în 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)Notă: PPTX este singurul format de salvare acceptat. Exportul în PDF, HTML, SVG sau imagini nu este disponibil.
Părțile XML necunoscute din fișierul sursă sunt păstrate literalmente la salvare, astfel încât deschiderea și salvarea din nou a unui .pptx nu va elimina niciodată conținutul pe care biblioteca nu îl înțelege încă.
Gestionarea diapozitivelor
Adăugați, eliminați, clonați și reordonați diapozitivele.
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)Forme
Adăugați AutoShapes, PictureFrames, Tables și Connectors la un diapozitiv.
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)Tabele
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)Conectori
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)Formatare text
Formatați textul la nivel de paragraf și de caracter utilizând 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 setează proprietatea explicit; NullableBool.NOT_DEFINED moștenește de la masterul diapozitivului.
Tipuri de umplere
Aplicați umpleri solide, degrade, model sau cu imagine la forme.
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)Efecte vizuale
Aplicați umbra exterioară, strălucirea, muchia moale, estomparea, reflexia și umbra interioară la forme.
Proprietățile efectului sunt accesibile prin shape.effect_format. Setați outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect sau inner_shadow_effect pentru a configura fiecare independent.
Formatare 3D
Aplicați bevel 3D, camera, rig de lumină, material și adâncime de extrudare prin shape.three_d_format. Acest lucru controlează adâncimea vizuală și modelul de iluminare pentru redarea formelor în vizualizatoarele PPTX care suportă efecte 3D.
Note pentru prezentator
Atașați note la orice diapozitiv utilizând 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)Comentarii
Adăugați comentarii în lanț cu informații despre autor și poziția diapozitivului.
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)Imagini încorporate
Încorporează o imagine dintr-o cale de fișier în prezentare și adaugă‑o pe un diapozitiv ca 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)Proprietăți document
Citiți și scrieți proprietăți de bază, de aplicație și personalizate ale documentului.
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)Limitări cunoscute
Următoarele zone declanșează NotImplementedError și nu sunt disponibile în această ediție:
| Zonă | Stare |
|---|---|
| Diagrame | Neimplementat |
| SmartArt | Neimplementat |
| Animații și tranziții | Neimplementat |
| Export PDF / HTML / SVG / imagine | Neimplementat (doar PPTX) |
| Macro-uri VBA | Neimplementat |
| Semnături digitale | Neimplementat |
| Hyperlink-uri și setări de acțiune | Neimplementat |
| Obiecte OLE | Neimplementat |
| Text matematic | Neimplementat |
Vezi și
- Începeți: Instalare și primul script
- Referință API: Referință pentru clase și metode
- Ghiduri practice: Articole orientate pe sarcini