Criar apresentações em PHP

Visão geral

Este artigo mostra como criar uma apresentação no Aspose.Slides, adicionar uma caixa de texto ao seu primeiro slide e salvar o resultado como um arquivo. Também demonstra como criar e salvar uma apresentação vazia e como abrir uma apresentação existente em um formato suportado e salvá‑la em outro formato. Um breve FAQ ao final cobre perguntas comuns sobre formatos, modelos, dimensionamento de slides, unidades, uso de memória, multithreading, licenciamento, assinaturas digitais e suporte a VBA.

Antes de começar, instale o Aspose.Slides para PHP via Java com o Composer e inicie o PHP/Java Bridge no Apache Tomcat. Consulte Instalação para a configuração completa. Os exemplos abaixo pressupõem que o Tomcat está em execução em localhost:8080 e que a pasta vendor do Composer está ao lado do script.

Criar uma apresentação PowerPoint

Para criar uma apresentação e colocar uma caixa de texto no seu primeiro slide, siga estas etapas:

  1. Crie uma instância da classe Presentation. Uma nova apresentação já contém um slide vazio.
  2. Recupere esse slide da coleção retornada por Presentation::getSlides, pelo índice 0.
  3. Adicione um retângulo com o método ShapeCollection::addAutoShape e defina seu texto com TextFrame::setText.
  4. Salve a apresentação como um arquivo PPTX com o método Presentation::save.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/pt/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();
}

As duas linhas require_once carregam o cliente PHP/Java Bridge do Tomcat e as classes Aspose.Slides do pacote Composer. O canto superior esquerdo do retângulo está a 50 pontos da borda esquerda e a 50 pontos da borda superior do slide, e o retângulo tem 400 pontos de largura e 100 pontos de altura. O arquivo salvo contém um slide com esse retângulo e seu texto. Sem uma licença, o Aspose.Slides também adiciona uma marca d’água de avaliação a cada slide salvo; veja Licenciamento.

Criar e salvar uma apresentação

Para criar uma apresentação vazia e salvá‑la, crie uma instância da classe Presentation e salve‑a em qualquer formato da enumeração SaveFormat. O resultado é uma apresentação com um slide vazio.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/pt/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 e salvar uma apresentação

Para converter uma apresentação de um formato para outro, abra‑a passando seu caminho ao construtor Presentation, então salve‑a no formato de destino. O Aspose.Slides detecta o formato de entrada, como PPT, PPTX ou ODP, a partir do próprio arquivo.

O exemplo abaixo pressupõe uma apresentação OpenDocument chamada Sample.odp ao lado do script e a salva como PPTX.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/pt/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();
}

FAQ

Em quais formatos posso salvar uma nova apresentação?

Você pode salvar em PPTX, PPT e ODP, e exportar para PDF, XPS, HTML, SVG e imagens, entre outros.

Posso iniciar a partir de um modelo (POTX/POTM) e salvar como um PPTX normal?

Sim. Carregue o modelo e salve no formato desejado; os formatos POTX/POTM/PPTM e similares são suportados.

Como controlo o tamanho/ proporção dos slides ao criar uma apresentação?

Defina o tamanho do slide (incluindo predefinições como 4:3 e 16:9 ou dimensões personalizadas) e escolha como o conteúdo deve ser escalado.

Em quais unidades os tamanhos e coordenadas são medidos?

Em pontos: 1 polegada equivale a 72 unidades.

Como lidar com apresentações muito grandes (com muitos arquivos de mídia) para reduzir o uso de memória?

Use estratégias de gerenciamento de BLOB, limite o armazenamento em memória aproveitando arquivos temporários e prefira fluxos baseados em arquivo em vez de streams puramente em memória.

Posso criar/salvar apresentações em paralelo?

Você não pode operar na mesma instância de Presentation a partir de múltiplas threads. Execute instâncias separadas e isoladas por thread ou processo.

Como remover a marca d’água de avaliação e as limitações?

Aplicar uma licença uma vez por processo. O XML da licença deve permanecer inalterado e a configuração da licença deve ser sincronizada se múltiplas threads estiverem envolvidas.

Posso assinar digitalmente o PPTX que crio?

Sim. Assinaturas digitais (adição e verificação) são suportadas para apresentações.

Macros (VBA) são suportadas em apresentações criadas?

Sim. Você pode criar/editar projetos VBA e salvar arquivos com macros habilitadas, como PPTM/PPSM.