Características y capacidades
Funciones y Capacidades
Aspose.Slides FOSS for Python ofrece un amplio conjunto de capacidades para trabajar con archivos PowerPoint .pptx de forma programática. Esta página enumera todas las áreas de funciones compatibles con ejemplos de código representativos.
E/S de Presentación
Abra un archivo .pptx existente o cree uno nuevo, luego guárdelo de nuevo en formato 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 es el único formato de guardado compatible. Exportar a PDF, HTML, SVG o imágenes no está disponible.
Las partes XML desconocidas en el archivo fuente se conservan literalmente al guardar, de modo que abrir y volver a guardar un .pptx nunca eliminará contenido que la biblioteca aún no comprende.
Gestión de diapositivas
Agregar, eliminar, clonar y reordenar diapositivas.
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)Formas
Agregar AutoShapes, PictureFrames, Tables y 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)Tablas
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)Conectores
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)Formato de texto
Formatee el texto a nivel de párrafo y de carácter usando 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 establece la propiedad explícitamente; NullableBool.NOT_DEFINED hereda del maestro de diapositivas.
Tipos de relleno
Aplicar rellenos sólidos, degradados, de patrón o de imagen a las formas.
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)Efectos visuales
Aplicar sombra externa, resplandor, borde suave, desenfoque, reflejo y sombra interna a las formas.
Las propiedades del efecto son accesibles a través de shape.effect_format. Establezca outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect o inner_shadow_effect para configurar cada una de forma independiente.
Formato 3D
Aplica bisel 3D, cámara, conjunto de luces, material y profundidad de extrusión mediante shape.three_d_format. Esto controla la profundidad visual y el modelo de iluminación para la representación de formas en los visores PPTX que admiten efectos 3D.
Notas del orador
Adjunte notas a cualquier diapositiva usando 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)Comentarios
Agregar comentarios en hilo con información del autor y posición 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)Imágenes incrustadas
Incruste una imagen desde una ruta de archivo en la presentación y añádala a una diapositiva como 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)Propiedades del documento
Leer y escribir propiedades de documento principales, de aplicación y personalizadas.
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)Limitaciones conocidas
Las siguientes áreas generan NotImplementedError y no están disponibles en esta edición:
| Área | Estado |
|---|---|
| Gráficos | No implementado |
| SmartArt | No implementado |
| Animaciones y transiciones | No implementado |
| Exportación PDF / HTML / SVG / imagen | No implementado (PPTX only) |
| VBA macros | No implementado |
| Firmas digitales | No implementado |
| Hipervínculos y configuraciones de acción | No implementado |
| OLE objects | No implementado |
| Texto matemático | No implementado |
Ver también
- Comenzando: Instalación y primer script
- Referencia de API: Referencia de clases y métodos
- Guías prácticas: Artículos orientados a tareas