Vytváření prezentací v PHP

Přehled

Tento článek ukazuje, jak vytvořit prezentaci v Aspose.Slides, přidat textové pole na její první snímek a uložit výsledek jako soubor. Také ukazuje, jak vytvořit a uložit prázdnou prezentaci a jak otevřít existující prezentaci v podporovaném formátu a uložit ji do jiného formátu. Krátké FAQ na konci pokrývá běžné otázky o formátech, šablonách, velikosti snímků, jednotkách, využití paměti, vláknování, licencování, digitálních podpisech a podpoře VBA.

Než začnete, nainstalujte Aspose.Slides pro PHP přes Java s Composerem a spusťte PHP/Java Bridge v Apache Tomcat. Kompletní nastavení najdete v Installation. Příklady níže předpokládají, že Tomcat běží na localhost:8080 a složka vendor Composeru je umístěna vedle skriptu.

Vytvoření PowerPoint prezentace

Pro vytvoření prezentace a přidání textového pole na její první snímek postupujte podle těchto kroků:

  1. Vytvořte instanci třídy Presentation. Nová prezentace již obsahuje jeden prázdný snímek.
  2. Získejte tento snímek z kolekce vrácené metodou Presentation::getSlides, podle jeho indexu 0.
  3. Přidejte obdélník pomocí metody ShapeCollection::addAutoShape a nastavte jeho text pomocí TextFrame::setText.
  4. Uložte prezentaci jako soubor PPTX pomocí metody Presentation::save.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/cs/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();
}

Tyto dvě řádky require_once načítají klienta PHP/Java Bridge z Tomcatu a třídy Aspose.Slides z balíčku Composer. Levý horní roh obdélníku je 50 bodů od levého okraje a 50 bodů od horního okraje snímku, šířka obdélníku je 400 bodů a výška 100 bodů. Uložený soubor obsahuje jeden snímek s tímto obdélníkem a jeho textem. Bez licence Aspose.Slides také přidává vodotisk hodnocení ke každému uloženému snímku; viz Licensing.

Vytvoření a uložení prezentace

Pro vytvoření prázdné prezentace a její uložení vytvořte instanci třídy Presentation a uložte ji v libovolném formátu z výčtu SaveFormat. Výsledkem je prezentace s jedním prázdným snímkem.

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

Otevření a uložení prezentace

Chcete-li převést prezentaci z jednoho formátu na druhý, otevřete ji předáním její cesty do konstruktoru Presentation, poté ji uložte v cílovém formátu. Aspose.Slides detekuje vstupní formát, například PPT, PPTX nebo ODP, podle samotného souboru.

Příklad níže očekává, že OpenDocument prezentace pojmenovaná Sample.odp bude vedle skriptu a uloží ji jako PPTX.

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

Do jakých formátů mohu uložit novou prezentaci?

Můžete uložit jako PPTX, PPT a ODP, a exportovat do PDF, XPS, HTML, SVG a obrázků, mezi jinými.

Mohu začít ze šablony (POTX/POTM) a uložit jako běžný PPTX?

Ano. Načtěte šablonu a uložte do požadovaného formátu; formáty POTX/POTM/PPTM a podobné jsou podporovány.

Jak mohu řídit velikost snímku/poměr stran při vytváření prezentace?

Nastavte velikost snímku (včetně předvoleb jako 4:3 a 16:9 nebo vlastních rozměrů) a vyberte, jak má být obsah škálován.

V jakých jednotkách jsou měřeny velikosti a souřadnice?

V bodech: 1 palec odpovídá 72 jednotkám.

Jak zacházet s velmi velkými prezentacemi (s mnoha mediálními soubory) za účelem snížení využití paměti?

Použijte strategie správy BLOB, omezte ukládání v paměti pomocí dočasných souborů a upřednostněte pracovní postupy založené na souborech před čistě paměťovými proudy.

Mohu vytvářet/ukládat prezentace paralelně?

Nelze pracovat se stejnou instancí Presentation z více vláken. Používejte samostatné, izolované instance pro každé vlákno nebo proces.

Jak odstranit zkušební vodotisk a omezení?

Aplikujte licenci jednou na proces. Soubor XML licence musí zůstat beze změny a nastavení licence by mělo být synchronizováno, pokud je zapojeno více vláken.

Mohu digitálně podepsat vytvořený PPTX?

Ano. Digitální podpisy (přidávání a ověřování) jsou pro prezentace podporovány.

Jsou v vytvořených prezentacích podporovány makra (VBA)?

Ano. Můžete vytvářet/upravovat VBA projekty a ukládat soubory s makry jako PPTM/PPSM.