Crear presentaciones en PHP

Visión general

Este artículo muestra cómo crear una presentación en Aspose.Slides, añadir un cuadro de texto a su primera diapositiva y guardar el resultado como un archivo. También muestra cómo crear y guardar una presentación vacía, y cómo abrir una presentación existente en un formato compatible y guardarla en otro formato. Al final hay una breve FAQ que cubre preguntas habituales sobre formatos, plantillas, tamaño de diapositivas, unidades, uso de memoria, subprocesos, licencias, firmas digitales y compatibilidad con VBA.

Antes de comenzar, instale Aspose.Slides para PHP vía Java con Composer y arranque PHP/Java Bridge en Apache Tomcat. Consulte Instalación para la configuración completa. Los ejemplos a continuación asumen que Tomcat se está ejecutando en localhost:8080 y que la carpeta vendor de Composer está junto al script.

Crear una presentación de PowerPoint

  1. Crear una instancia de la clase Presentation. Una nueva presentación ya contiene una diapositiva vacía.
  2. Obtener esa diapositiva de la colección devuelta por Presentation::getSlides, mediante su índice, 0.
  3. Añadir un rectángulo con el método ShapeCollection::addAutoShape y establecer su texto con TextFrame::setText.
  4. Guardar la presentación como archivo PPTX con el método Presentation::save.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/es/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);
    $shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 400, 100);
    $shape->getTextFrame()->setText("Hello, Aspose.Slides!");
    $presentation->save(__DIR__ . "/hello.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Las dos líneas require_once cargan el cliente PHP/Java Bridge desde Tomcat y las clases Aspose.Slides del paquete Composer. La esquina superior izquierda del rectángulo está a 50 puntos del borde izquierdo y a 50 puntos del borde superior de la diapositiva, y el rectángulo tiene 400 puntos de ancho y 100 puntos de alto. El archivo guardado contiene una diapositiva con ese rectángulo y su texto. Sin una licencia, Aspose.Slides también añade una marca de agua de evaluación a cada diapositiva que guarda; vea Licencias.

Crear y guardar una presentación

Para crear una presentación vacía y guardarla, cree una instancia de la clase Presentation y guárdala en cualquier formato de la enumeración SaveFormat. El resultado es una presentación con una diapositiva vacía.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/es/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Abrir y guardar una presentación

Para convertir una presentación de un formato a otro, ábrala pasando su ruta al constructor Presentation, y luego guárdala en el formato de destino. Aspose.Slides detecta el formato de entrada, como PPT, PPTX u ODP, a partir del propio archivo.

El ejemplo a continuación espera una presentación OpenDocument llamada Sample.odp junto al script y la guarda como PPTX.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/es/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation(__DIR__ . "/Sample.odp");
try {
    $presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Preguntas frecuentes

¿En qué formatos puedo guardar una nueva presentación?

Puede guardar en PPTX, PPT, and ODP, y exportar a PDF, XPS, HTML, SVG, y images, entre otros.

¿Puedo iniciar a partir de una plantilla (POTX/POTM) y guardarla como un PPTX normal?

Sí. Cargue la plantilla y guárdela en el formato deseado; los formatos POTX/POTM/PPTM y similares son compatibles.

¿Cómo controlo el tamaño/relación de aspecto de la diapositiva al crear una presentación?

Establezca el tamaño de diapositiva (incluidos los preajustes como 4:3 y 16:9 o dimensiones personalizadas) y elija cómo debe escalar el contenido.

¿En qué unidades se miden los tamaños y coordenadas?

En puntos: 1 pulgada equivale a 72 unidades.

¿Cómo gestiono presentaciones muy grandes (con muchos archivos multimedia) para reducir el uso de memoria?

Utilice estrategias de gestión de BLOB, limite el almacenamiento en memoria aprovechando archivos temporales y prefiera flujos basados en archivos en lugar de flujos puramente en memoria.

¿Puedo crear/guardar presentaciones en paralelo?

No puede operar sobre la misma instancia de Presentation desde múltiples subprocesos. Ejecute instancias separadas e aisladas por subproceso o proceso.

¿Cómo elimino la marca de agua de prueba y las limitaciones?

Aplique una licencia una vez por proceso. El XML de la licencia debe permanecer sin modificar, y la configuración de la licencia debe sincronizarse si intervienen varios subprocesos.

¿Puedo firmar digitalmente el PPTX que creo?

Sí. Las firmas digitales (añadir y verificar) son compatibles con las presentaciones.

¿Se admiten macros (VBA) en las presentaciones creadas?

Sí. Puede crear/editar proyectos VBA y guardar archivos con macros como PPTM/PPSM.