Preguntas frecuentes

Preguntas frecuentes

Preguntas Frecuentes

¿Cómo instalo Aspose.Slides FOSS?

Instale desde PyPI usando pip. Se requiere Python 3.10 o posterior.

pip install aspose-slides-foss

Verifique la instalación:

import aspose.slides_foss as slides
with slides.Presentation() as prs:
    print(f"Slides: {len(prs.slides)}")

La dependencia lxml se instala automáticamente. No se requiere Microsoft Office ni otro tiempo de ejecución del sistema.


¿Por qué debo usar with slides.Presentation() as prs:?

La clase Presentation gestiona manejadores de archivos internos y recursos XML. Sin el administrador de contexto, esos recursos no se liberan cuando el objeto Presentation sale del alcance, lo que puede provocar fugas de recursos o bloqueos de archivos en Windows.

Siempre sigue este patrón:

with slides.Presentation("input.pptx") as prs:
    # work here
    prs.save("output.pptx", SaveFormat.PPTX)

¿A qué formatos de archivo puedo guardar?

Solo PPTX es compatible:

from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)

Exportar a PDF, HTML, SVG o formatos de imagen (PNG, JPEG) no está disponible en esta edición.


¿Puedo abrir .ppt (archivos antiguos de PowerPoint 97–2003)?

No. Sólo los archivos .pptx (Office Open XML) son compatibles. El formato binario heredado .ppt no es manejado por esta biblioteca.


¿Cómo accedo a las diapositivas?

Las diapositivas son una lista basada en cero accesible a través de prs.slides:

first_slide = prs.slides[0]
slide_count = len(prs.slides)

¿Cómo añado una segunda diapositiva?

Utilice prs.slides.add_empty_slide() con un diseño:

with slides.Presentation() as prs:
    layout = prs.layout_slides[0]
    prs.slides.add_empty_slide(layout)
    slide2 = prs.slides[1]
    prs.save("two-slides.pptx", SaveFormat.PPTX)

¿Cómo establezco el color de fondo de la diapositiva?

El coloreado del fondo de la diapositiva no está disponible en esta edición. La clase Slide no expone una propiedad background. Intentar slide.background provocará AttributeError. Esta característica no está implementada en la versión actual.


¿Cómo utilizo NullableBool?

NullableBool es una enumeración de tres estados utilizada para propiedades de formato. Use NullableBool.TRUE (no el True de Python) para negrita, cursiva y propiedades similares:

from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED  # inherits from theme

¿Por qué establecer el color del texto no tiene efecto?

También debe establecer fill_type = FillType.SOLID antes de asignar el color:

from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color

fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)

¿Puedo usar gráficos o SmartArt?

No. Los gráficos, SmartArt, objetos OLE, animaciones, transiciones, hipervínculos, macros VBA y firmas digitales no están implementados en esta edición y generan NotImplementedError.


¿La biblioteca es compatible con Python 3.9?

No. Se requiere Python 3.10 o posterior.


¿Esta biblioteca es segura para subprocesos?

Cada objeto Presentation es independiente. Crear y usar instancias separadas de Presentation desde hilos diferentes es seguro siempre que no comparta un único objeto Presentation entre hilos sin un bloqueo externo.


¿Cómo incrusto una imagen?

Lea los bytes de la imagen y añádalos a prs.images, luego cree un PictureFrame:

with open("logo.png", "rb") as f:
    image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)

Ver también

 Español