Introducción

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx archivos completamente en Python, sin dependencia de Microsoft Office ni de ningún runtime propietario.

La biblioteca está diseñada para desarrolladores que necesitan generar o manipular archivos de presentación de forma programática: automatizar presentaciones a partir de datos, extraer texto y metadatos de archivos PPTX cargados, construir canalizaciones de informes basadas en presentaciones, o incrustar la creación de presentaciones en aplicaciones web. Porque aspose-slides-foss es puro Python con solo lxml como dependencia, se despliega idénticamente en Windows, macOS, Linux y contenedores Docker.

Características clave

  • Soporte completo de ida y vuelta para PPTX: Abra cualquier .pptx archivo, modifique su contenido y guárdelo de nuevo sin perder partes XML desconocidas que la biblioteca aún no comprende.
  • Gestión de diapositivas: Añada, elimine y recorra diapositivas usando prs.slides; la presentación comienza con una diapositiva en blanco después de slides.Presentation().
  • AutoShapes, Tablas y Conectores: Insertar formas mediante slide.shapes.add_auto_shape(),: datos tabulares mediante slide.shapes.add_table(), y conectores visuales entre formas mediante slide.shapes.add_connector().
  • Formato de texto enriquecido: Formatear texto a nivel de carácter con PortionFormat: tamaño de fuente, negrita, cursiva, subrayado y color ARGB mediante FillType.SOLID y Color.from_argb().
  • Tipos de relleno: Aplicar FillType.SOLID, GRADIENT, PATTERN, o PICTURE rellenos a cualquier forma.
  • Efectos visuales: Sombra externa, resplandor, borde suave, desenfoque, reflejo y sombra interna mediante shape.effect_format.
  • 3D formatting: Bisel, cámara, equipo de iluminación, material y profundidad de extrusión mediante shape.three_d_format.
  • Notas del presentador: Adjuntar texto de notas a cada diapositiva mediante notes_slide_manager.add_notes_slide().
  • Comentarios en hilos: Añadir comentarios con metadatos del autor y posición de la diapositiva.
  • Imágenes incrustadas: Incrustar desde ruta de archivo, bytes o io.BytesIO flujo.
  • Propiedades del documento: Leer y escribir propiedades core, app y personalizadas.

Comenzando

Instalar desde PyPI. Python 3.10 o posterior es necesario; lxml se instala automáticamente.

pip install aspose-slides-foss

Cree su primera presentación con una forma y guárdela:

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
    shape.add_text_frame("Hello from Aspose.Slides FOSS!")
    prs.save("hello.pptx", SaveFormat.PPTX)

Utilice siempre Presentation dentro de un with bloque; esto garantiza que todos los recursos internos se liberen cuando el bloque finalice.

Ejemplo de formato de texto

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:
    shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold heading in corporate blue")
    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("formatted.pptx", SaveFormat.PPTX)

Limitaciones actuales

Las siguientes áreas generan NotImplementedError en esta versión:

  • Gráficos, SmartArt y objetos OLE
  • Animaciones y transiciones de diapositivas
  • Exportar a PDF, HTML, SVG o formatos de imagen
  • Hipervínculos, configuraciones de acción, macros VBA y firmas digitales

Las partes XML desconocidas encontradas durante la carga se conservan literalmente al guardar, por lo que los archivos PPTX producidos por otras herramientas pueden volver a cargarse de forma segura.

Ver también