Funcionalitats i capacitats
Funcionalitats i capacitats
Aspose.Slides FOSS for Python ofereix un ampli conjunt de capacitats per treballar amb fitxers PowerPoint .pptx de manera programàtica. Aquesta pàgina enumera totes les àrees de funcionalitat compatibles amb exemples de codi representatius.
Presentació I/O
Obre un fitxer .pptx existent o crea’n un de nou, i després desa de nou al 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 és l’únic format de desament compatible. L’exportació a PDF, HTML, SVG o imatges no està disponible.
Les parts XML desconegudes del fitxer d’origen es conserven literalment en desar, de manera que obrir i tornar a desar un .pptx mai eliminarà el contingut que la llibreria encara no entén.
Gestió de diapositives
Afegeix, elimina, clona i reordena les diapositives.
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)Formes
Afegeix AutoShapes, PictureFrames, Tables i Connectors a una diapositiva.
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)Taules
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)Format de text
Formata el text a nivell de paràgraf i de caràcter utilitzant 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 estableix la propietat explícitament; NullableBool.NOT_DEFINED hereta del mestre de diapositives.
Tipus d’emplenament
Aplica emplenaments sòlids, degradats, de patró o d’imatge a les formes.
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)Efectes visuals
Aplica ombra externa, resplendor, vora suau, desenfocament, reflexió i ombra interna a les formes.
Les propietats de l’efecte són accessibles a través de shape.effect_format. Defineix outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect o inner_shadow_effect per configurar cada una de manera independent.
Formatació 3D
Apliqueu el bisell 3D, la càmera, el rig de llum, el material i la profunditat d’extrusió mitjançant shape.three_d_format. Això controla la profunditat visual i el model d’il·luminació per a la representació de formes en visualitzadors PPTX que admeten efectes 3D.
Notes del presentador
Adjunteu notes a qualsevol diapositiva utilitzant 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)Comentaris
Afegeix comentaris en fil amb informació de l’autor i posició de la diapositiva.
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)Imatges incrustades
Incrusta una imatge des d’una ruta de fitxer a la presentació i afegeix-la a una diapositiva com a 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)Propietats del document
Llegir i escriure propietats de document bàsiques, d’aplicació i personalitzades.
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)Limitacions conegudes
Les àrees següents generen NotImplementedError i no estan disponibles en aquesta edició:
| Àrea | Estat |
|---|---|
| Gràfics | No implementat |
| SmartArt | No implementat |
| Animacions i transicions | No implementat |
| Exportació PDF / HTML / SVG / imatge | No implementat (només PPTX) |
| VBA macros | No implementat |
| Signatures digitals | No implementat |
| Enllaços i configuracions d’acció | No implementat |
| OLE objects | No implementat |
| Text matemàtic | No implementat |
Vegeu també
- Començar: Instal·lació i primer script
- Referència de l’API: Referència de classes i mètodes
- Guies pràctiques: Articles orientats a tasques