Funcționalități și capabilități
Funcționalități și capabilități
Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx fișiere programatic. Această pagină enumeră toate zonele de funcționalitate suportate cu exemple de cod reprezentative.
Intrare/Ieșire prezentare
Deschide un existent .pptx fișier sau creează unul nou, apoi salvează î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 suportat. 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
Adaugă, elimină, clonează și reordonează 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
Adaugă AutoShapes, PictureFrames, Tables și Connectors pe 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)Tables
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)Formatare text
Formatează textul la nivel de paragraf și 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, marginea moale, estomparea, reflexia și umbra interioară la forme.
Proprietățile efectului sunt accesibile prin shape.effect_format. Setează outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect, sau inner_shadow_effect pentru a configura fiecare independent.
3D Formatting
Aplicați teșitură 3D, cameră, sistem de iluminare, 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 ale prezentatorului
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
Încorporați o imagine dintr-o cale de fișier în prezentare și adăugați-o la un diapozitiv ca un 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 ale documentului
Citiți și scrieți proprietăți de bază, de aplicație și proprietăț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 ridică NotImplementedError și nu sunt disponibile în această ediție:
| Zonă | Stare |
|---|---|
| Grafice | Neimplementat |
| SmartArt | Neimplementat |
| Animații și tranziții | Neimplementat |
| Export PDF / HTML / SVG / imagine | Neimplementat (doar PPTX) |
| Macrocomenzi VBA | Neimplementat |
| Semnături digitale | Neimplementat |
| Hiperlinkuri și setări de acțiune | Neimplementat |
| Obiecte OLE | Neimplementat |
| Text matematic | Neimplementat |
Vezi și
- Începeți: Instalare și primul script
- Referință API: Referință de clasă și metodă
- Ghiduri practice: Articole orientate spre sarcini