Tworzenie prezentacji w PHP

Przegląd

Ten artykuł pokazuje, jak utworzyć prezentację w Aspose.Slides, dodać pole tekstowe do jej pierwszego slajdu i zapisać wynik jako plik. Pokazuje również, jak utworzyć i zapisać pustą prezentację oraz jak otworzyć istniejącą prezentację w obsługiwanym formacie i zapisać ją w innym formacie. Krótkie FAQ na końcu zawiera najczęstsze pytania dotyczące formatów, szablonów, rozmiaru slajdów, jednostek, zużycia pamięci, wątków, licencjonowania, podpisów cyfrowych i obsługi VBA.

Przed rozpoczęciem zainstaluj Aspose.Slides for PHP via Java przy użyciu Composer i uruchom PHP/Java Bridge w Apache Tomcat. Zobacz Instalacja po pełną konfigurację. Przykłady poniżej zakładają, że Tomcat działa na localhost:8080, a folder vendor Composer znajduje się obok skryptu.

Utworzenie prezentacji PowerPoint

Aby utworzyć prezentację i umieścić pole tekstowe na jej pierwszym slajdzie, wykonaj poniższe kroki:

  1. Utwórz instancję klasy Presentation. Nowa prezentacja zawiera już jeden pusty slajd.
  2. Uzyskaj ten slajd z kolekcji zwróconej przez Presentation::getSlides, używając indeksu 0.
  3. Dodaj prostokąt metodą ShapeCollection::addAutoShape i ustaw jego tekst przy użyciu TextFrame::setText.
  4. Zapisz prezentację jako plik PPTX przy użyciu metody Presentation::save.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/pl/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();
}

Dwie linie require_once ładują klienta PHP/Java Bridge z Tomcata oraz klasy Aspose.Slides z pakietu Composer. Górny lewy róg prostokąta znajduje się 50 punktów od lewej krawędzi i 50 punktów od górnej krawędzi slajdu, a prostokąt ma szerokość 400 punktów i wysokość 100 punktów. Zapisany plik zawiera jeden slajd z tym prostokątem i jego tekstem. Bez licencji Aspose.Slides dodaje również znak wodny oceny do każdego zapisanego slajdu; zobacz Licencjonowanie.

Utworzenie i zapisanie prezentacji

Aby utworzyć pustą prezentację i zapisać ją, utwórz instancję klasy Presentation i zapisz ją w dowolnym formacie z wyliczenia SaveFormat. Wynikiem jest prezentacja z jednym pustym slajdem.

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

Otwarcie i zapisanie prezentacji

Aby przekonwertować prezentację z jednego formatu na drugi, otwórz ją, przekazując jej ścieżkę do konstruktora Presentation, a następnie zapisz w docelowym formacie. Aspose.Slides wykrywa format wejściowy, taki jak PPT, PPTX lub ODP, na podstawie samego pliku.

Poniższy przykład zakłada, że prezentacja OpenDocument o nazwie Sample.odp znajduje się obok skryptu i zapisuje ją jako PPTX.

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

W jakich formatach mogę zapisać nową prezentację?

Możesz zapisać do PPTX, PPT i ODP, a także wyeksportować do PDF, XPS, HTML, SVG oraz obrazów, i innych.

Czy mogę rozpocząć od szablonu (POTX/POTM) i zapisać jako zwykły PPTX?

Tak. Załaduj szablon i zapisz w żądanym formacie; formaty POTX/POTM/PPTM i podobne są obsługiwane.

Jak kontrolować rozmiar/ proporcje slajdu przy tworzeniu prezentacji?

Ustaw rozmiar slajdu (w tym predefiniowane 4:3 i 16:9 lub własne wymiary) i wybierz, jak ma być skalowana zawartość.

W jakich jednostkach mierzone są rozmiary i współrzędne?

W punktach: 1 cal równa się 72 jednostkom.

Jak radzić sobie z bardzo dużymi prezentacjami (z wieloma plikami multimedialnymi), aby zmniejszyć zużycie pamięci?

Użyj strategii zarządzania BLOB, ogranicz przechowywanie w pamięci poprzez korzystanie z plików tymczasowych i preferuj przepływy oparte na plikach zamiast wyłącznie pamięciowych strumieni.

Czy mogę tworzyć/zapisywać prezentacje równolegle?

Nie możesz operować na tej samej instancji Presentation z wielu wątków. Uruchamiaj oddzielne, izolowane instancje w każdym wątku lub procesie.

Jak usunąć znak wodny wersji próbnej i ograniczenia?

Zastosuj licencję raz na proces. Plik XML licencji musi pozostać niezmieniony, a konfiguracja licencji powinna być zsynchronizowana, jeśli zaangażowane są wielowątkowość.

Czy mogę cyfrowo podpisać utworzony PPTX?

Tak. Podpisy cyfrowe (dodawanie i weryfikacja) są obsługiwane w prezentacjach.

Czy makra (VBA) są obsługiwane w tworzonych prezentacjach?

Tak. Możesz tworzyć/edytować projekty VBA i zapisywać pliki z włączonymi makrami, takie jak PPTM/PPSM.