Konwertuj prezentacje do HTML5 w PHP

Przegląd

Ten artykuł wyjaśnia, jak konwertować prezentacje PowerPoint do formatu HTML5 przy użyciu Aspose.Slides dla PHP poprzez Java. Omówiono podstawowy eksport, kontrolę animacji kształtów i przejść slajdów oraz układ komentarzy. Porównano również wynik HTML5 z wyjściem opartym na SVG, które jest generowane przy standardowym eksporcie HTML.

Eksport PowerPoint do HTML5

Poniższy przykład ładuje prezentację z katalogu roboczego i zapisuje ją w formacie HTML5. Używa domyślnych ustawień eksportu; kolejny przykład pokazuje, jak jawnie sterować odtwarzaniem animacji. Zamień ścieżkę wejściową na ścieżkę do własnej prezentacji.

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

$presentation = new Presentation("pres.pptx");
try {
    $presentation->save("pres.html", SaveFormat::Html5);
} finally {
    $presentation->dispose();
}

Aby wyeksportować bez odtwarzania animacji kształtów lub przejść slajdów, przekaż false do setAnimateShapes i setAnimateTransitions w Html5Options. Te ustawienia są niezależne, więc możesz włączyć jedno, wyłączając drugie. Przykład eksportuje prezentację z wyłączonymi obiema rodzajami animacji w wygenerowanej stronie.

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

$html5Options = new Html5Options();
$html5Options->setAnimateShapes(false);
$html5Options->setAnimateTransitions(false);

$presentation = new Presentation("pres.pptx");
try {
    $presentation->save("pres5.html", SaveFormat::Html5, $html5Options);
} finally {
    $presentation->dispose();
}

Eksport PowerPoint do HTML

Standardowy eksport HTML używa innego podejścia renderowania: zawartość slajdu jest reprezentowana przez SVG wewnątrz strony HTML. Poniższy przykład konwertuje prezentację na dokument HTML przy użyciu tego podejścia renderowania.

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

$presentation = new Presentation("pres.pptx");
try {
    $presentation->save("pres.html", SaveFormat::Html);
} finally {
    $presentation->dispose();
}

Uproszczony znacznik poniżej ilustruje strukturę wygenerowanej strony. Element SVG zawiera wyrenderowaną zawartość slajdu; tekst zastępczy reprezentuje tę zawartość i nie jest literalnym wynikiem eksportu.

<body>
<div class="slide" name="slide" id="slideslideIface1">
     <svg version="1.1">
         <g> THE SLIDE CONTENT GOES HERE </g>
     </svg>
</div>
</body>

Eksport PowerPoint do widoku slajdów HTML5

Eksport HTML5 tworzy stronę do przeglądania i nawigacji po slajdach prezentacji w przeglądarce. Ten przykład włącza zarówno setAnimateShapes, jak i setAnimateTransitions, aby wyeksportowany widok slajdów mógł odtwarzać efekty z oryginalnej prezentacji.

Użyj prezentacji, która już zawiera animacje kształtów i przejścia slajdów, aby zobaczyć efekt tych ustawień. Ich włączenie nie dodaje nowych efektów do slajdów, które ich nie mają. Po eksporcie otwórz wygenerowany dokument HTML5 w przeglądarce z dostępnymi plikami pomocniczymi.

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

$html5Options = new Html5Options();
$html5Options->setAnimateShapes(true);
$html5Options->setAnimateTransitions(true);

$presentation = new Presentation("pres.pptx");
try {
    $presentation->save("HTML5-slide-view.html", SaveFormat::Html5, $html5Options);
} finally {
    $presentation->dispose();
}

Konwertuj prezentację na dokument HTML5 z komentarzami

Możesz uwzględnić istniejące komentarze slajdów w wyniku HTML5, aby czytelnicy mogli zobaczyć opinie obok zawartości slajdu. Przykład w tej sekcji zakłada, że źródłowa prezentacja zawiera komentarze, co ilustruje poniższy zrzut. Eksportuje on te komentarze; nie tworzy nowych.

Dwa komentarze na slajdzie prezentacji

Przekaż obiekt NotesCommentsLayoutingOptions do metody setSlidesLayoutOptions klasy Html5Options. Użyj setCommentsPosition, aby wybrać Right z wyliczenia CommentsPositions, co umieści komentarze po prawej stronie każdego slajdu.

Poniższy przykład eksportuje prezentację do HTML5 z tym układem komentarzy. Prezentacja bez komentarzy nie będzie zawierała tekstu komentarzy do wyświetlenia.

use aspose\slides\CommentsPositions;
use aspose\slides\Html5Options;
use aspose\slides\NotesCommentsLayoutingOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$layoutOptions = new NotesCommentsLayoutingOptions();
$layoutOptions->setCommentsPosition(CommentsPositions::Right);

$html5Options = new Html5Options();
$html5Options->setSlidesLayoutOptions($layoutOptions);

$presentation = new Presentation("sample.pptx");
try {
    $presentation->save("output.html", SaveFormat::Html5, $html5Options);
} finally {
    $presentation->dispose();
}

Obraz poniżej pokazuje wyeksportowany dokument HTML5 z komentarzami wyświetlanymi obok slajdu.

Komentarze w wyjściowym dokumencie HTML5

Wyklucz odnośniki JavaScript podczas eksportu

Załóżmy, że hyperlinks.pptx zawiera tekst z odnośnikiem javascript:alert('Hello') oraz zwykły odnośnik https://example.com/. Aby wykluczyć odnośnik JavaScript podczas eksportu, przekaż true do SaveOptions::setSkipJavaScriptLinks. Domyślnie jest to false, więc te odnośniki nie są filtrowane, chyba że włączysz tę opcję.

Poniższy przykład ładuje prezentację z katalogu roboczego i eksportuje ją przy użyciu Html5Options:

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

$html5Options = new Html5Options();
$html5Options->setSkipJavaScriptLinks(true);

$presentation = new Presentation("hyperlinks.pptx");
try {
    $presentation->save("filtered-html5.html", SaveFormat::Html5, $html5Options);
} finally {
    $presentation->dispose();
}

Wyeksportowany plik pomija odnośnik JavaScript, zachowując jego tekst oraz zwykły odnośnik HTTPS. Źródłowa prezentacja pozostaje niezmieniona.

Ta opcja filtruje odnośniki JavaScript; nie usuwa wszystkich skryptów ani innych treści aktywnych oraz nie gwarantuje zgodności z CSP. Na przykład wyjście HTML5 nadal zawiera skrypty potrzebne do nawigacji po slajdach i animacji.

FAQ

Czy mogę kontrolować, czy animacje obiektów i przejścia slajdów będą odtwarzane w HTML5?

Tak, eksport HTML5 zapewnia osobne opcje włączenia lub wyłączenia animacji kształtów i przejść slajdów.

Czy komentarze są obsługiwane i gdzie można je umieścić względem slajdu?

Tak, istniejące komentarze mogą być uwzględnione w wyniku HTML5 i umieszczone (na przykład po prawej stronie slajdu) poprzez ustawienia układu dla notatek i komentarzy.

Czy mogę pominąć odnośniki wywołujące JavaScript ze względów bezpieczeństwa lub CSP?

Tak, ustawienie setSkipJavaScriptLinks pozwala pominąć odnośniki z wywołaniami JavaScript podczas zapisu. Domyślnie jest false. Zobacz Wyklucz odnośniki JavaScript podczas eksportu po przykład eksportu HTML5 i zakres filtru. To ustawienie nie usuwa JavaScript używanego przez przeglądarkę HTML5 do nawigacji i animacji.