Konwertowanie prezentacji do HTML5 w C++
Przegląd
Ten artykuł wyjaśnia, jak konwertować prezentacje PowerPoint do formatu HTML5 przy użyciu Aspose.Slides for C++. Omówiono podstawowy eksport, kontrolę animacji kształtów i przejść slajdów oraz układ komentarzy. Ponadto porównano wyjście HTML5 z wyjściem opartym na SVG, generowanym przy standardowym eksporcie HTML.
Eksportowanie prezentacji PowerPoint do HTML5
Poniższy przykład ładuje prezentację z bieżącego katalogu i zapisuje ją w formacie HTML5. Używa domyślnych ustawień eksportu; kolejny przykład pokazuje, jak jawnie kontrolować odtwarzanie animacji. Zastąp ścieżkę wejściową ścieżką do własnej prezentacji.
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto presentation = System::MakeObject<Presentation>(u"pres.pptx");
presentation->Save(u"pres.html", SaveFormat::Html5);
presentation->Dispose();
Note
Oprócz dokumentu HTML, eksport zapisuje dodatkowe pliki CSS i JavaScript potrzebne do stylizacji slajdów, animacji, efektów i nawigacji. Przechowuj te pliki razem z dokumentem HTML przy przenoszeniu lub publikowaniu wyniku. Wygenerowana strona ładuje także jQuery i Anime.js z publicznych CDN‑ów; bez nich nawigacja slajdów i animacje nie działają.Aby wyeksportować bez odtwarzania animacji kształtów lub przejść slajdów, przekaż false do set_AnimateShapes i set_AnimateTransitions w Html5Options. Ustawienia te są niezależne, więc można włączyć jedno, wyłączając drugie. Przykład eksportuje prezentację z wyłączonymi oboma typami animacji w wygenerowanej stronie.
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
#include <Export/Html5Options.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto html5Options = System::MakeObject<Html5Options>();
html5Options->set_AnimateShapes(false);
html5Options->set_AnimateTransitions(false);
auto presentation = System::MakeObject<Presentation>(u"pres.pptx");
presentation->Save(u"pres5.html", SaveFormat::Html5, html5Options);
presentation->Dispose();
Eksportowanie prezentacji PowerPoint do HTML
Standardowy eksport HTML wykorzystuje inne podejście renderowania: zawartość slajdu jest reprezentowana jako SVG wewnątrz strony HTML. Poniższy przykład konwertuje prezentację do dokumentu HTML przy użyciu tego podejścia renderowania.
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto presentation = System::MakeObject<Presentation>(u"pres.pptx");
presentation->Save(u"pres.html", SaveFormat::Html);
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 dosłownym wynikiem eksportu.
<body>
<div class="slide" name="slide" id="slideslideIface1">
<svg version="1.1">
<g> THE SLIDE CONTENT GOES HERE </g>
</svg>
</div>
</body>
Warning
Eksport oparty na SVG nie udostępnia kształtów PowerPoint jako oddzielnych elementów HTML. Użyj eksportu HTML5, gdy potrzebne są opcje animacji kształtów i przejść slajdów przedstawione w tym artykule.Eksportowanie prezentacji PowerPoint do widoku slajdów HTML5
Eksport HTML5 generuje stronę do przeglądania i nawigacji po slajdach prezentacji w przeglądarce. Ten przykład przekazuje true zarówno do set_AnimateShapes jak i set_AnimateTransitions, 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ń. Włączenie ich nie dodaje nowych efektów do slajdów, które ich nie posiadają. Po eksporcie otwórz wygenerowany dokument HTML5 w przeglądarce, mając dostępne pliki pomocnicze.
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
#include <Export/Html5Options.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto html5Options = System::MakeObject<Html5Options>();
html5Options->set_AnimateShapes(true);
html5Options->set_AnimateTransitions(true);
auto presentation = System::MakeObject<Presentation>(u"pres.pptx");
presentation->Save(u"HTML5-slide-view.html", SaveFormat::Html5, html5Options);
presentation->Dispose();
Konwertowanie prezentacji do dokumentu HTML5 z komentarzami
Możesz uwzględnić istniejące komentarze slajdów w wyjściu HTML5, aby czytelnicy mogli zobaczyć uwagi wraz z zawartością slajdu. Przykład w tej sekcji zakłada, że źródłowa prezentacja zawiera komentarze, jak pokazano poniżej. Eksportuje te komentarze; nie tworzy nowych.

Przekaż obiekt NotesCommentsLayoutingOptions do metody set_SlidesLayoutOptions klasy Html5Options. Wywołaj set_CommentsPosition z wartością CommentsPositions::Right z wyliczenia CommentsPositions, aby 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 komentarza do wyświetlenia.
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
#include <Export/Html5Options.h>
#include <Export/NotesCommentsLayoutingOptions.h>
#include <Export/CommentsPositions.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto layoutOptions = System::MakeObject<NotesCommentsLayoutingOptions>();
layoutOptions->set_CommentsPosition(CommentsPositions::Right);
auto html5Options = System::MakeObject<Html5Options>();
html5Options->set_SlidesLayoutOptions(layoutOptions);
auto presentation = System::MakeObject<Presentation>(u"sample.pptx");
presentation->Save(u"output.html", SaveFormat::Html5, html5Options);
presentation->Dispose();
Poniższy obrazek pokazuje wyeksportowany dokument HTML5 z komentarzami wyświetlanymi obok slajdu.

Wykluczanie hiperłączy JavaScript podczas eksportu
Załóżmy, że hyperlinks.pptx zawiera tekst z odnośnikiem o docelowym javascript:alert('Hello') oraz zwykły link https://example.com/. Aby wykluczyć hiperłącze JavaScript podczas eksportu, wywołaj SaveOptions::set_SkipJavaScriptLinks z wartością true. Domyślnie jest to false, więc te linki nie są filtrowane, chyba że włączysz tę opcję.
Poniższy przykład ładuje prezentację z bieżącego katalogu i eksportuje ją przy użyciu Html5Options:
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
#include <Export/Html5Options.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto html5Options = System::MakeObject<Html5Options>();
html5Options->set_SkipJavaScriptLinks(true);
auto presentation = System::MakeObject<Presentation>(u"hyperlinks.pptx");
presentation->Save(u"filtered-html5.html", SaveFormat::Html5, html5Options);
presentation->Dispose();
Wyeksportowany plik pomija hiperłącze JavaScript, zachowując jego tekst oraz zwykły link HTTPS. Źródłowa prezentacja pozostaje niezmieniona.
Opcja ta filtruje hiperłącza JavaScript; nie usuwa wszystkich skryptów ani innej aktywnej zawartości, ani nie gwarantuje zgodności z CSP. Na przykład wyjście HTML5 wciąż zawiera skrypty odpowiedzialne za nawigację slajdów i animacje.
FAQ
Czy mogę kontrolować, czy animacje obiektów i przejścia slajdów będą odtwarzane w HTML5?
Tak, eksport HTML5 oferuje oddzielne opcje włączania lub wyłączania animacje kształtów i przejścia 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 wyjściu HTML5 i umieszczone (na przykład po prawej stronie slajdu) przy użyciu ustawienia układu.
Czy mogę pominąć linki wywołujące JavaScript ze względów bezpieczeństwa lub CSP?
Tak, metoda set_SkipJavaScriptLinks pozwala pominąć hiperłącza wywołujące JavaScript podczas zapisywania. Domyślnie jest to false. Zobacz Exclude JavaScript Hyperlinks During Export po przykład eksportu HTML5 i zakres filtru. To ustawienie nie usuwa JavaScript używanego przez przeglądarkę HTML5 do nawigacji i animacji.