Konvertera presentationer till HTML5 i C++

Översikt

Den här artikeln förklarar hur du konverterar PowerPoint‑presentationer till HTML5 med Aspose.Slides för C++. Den täcker grundläggande export, kontroll av formanimationer och bildövergångar samt kommentarslayout. Den jämför också HTML5‑utdata med den SVG‑baserade utexporten från standard‑HTML‑export.

Exportera PowerPoint till HTML5

Följande exempel läser in en presentation från arbetskatalogen och sparar den i HTML5‑format. Det använder standardinställningarna för export; nästa exempel visar hur du explicit styr animeringsuppspelning. Ersätt inmatningssökvägen med sökvägen till din presentation.

#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();

För att exportera utan att spela upp formanimationer eller bildövergångar, skicka false till set_AnimateShapes och set_AnimateTransitions i Html5Options. Dessa inställningar är oberoende, så du kan aktivera den ena och inaktivera den andra. Exemplet exporterar presentationen med båda typerna av animation inaktiverade i den genererade sidan.

#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();

Exportera PowerPoint till HTML

Den standardmässiga HTML‑exporten använder en annan renderingsmetod: bildinnehållet representeras av SVG i en HTML‑sida. Följande exempel konverterar en presentation till ett HTML‑dokument med denna renderingsmetod.

#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();

Den förenklade markupen nedan illustrerar strukturen för den genererade sidan. SVG‑elementet innehåller den renderade bildinnehållet; platshållartexten representerar detta innehåll och är inte en faktisk exportutdata.

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

Exportera PowerPoint till HTML5‑bildvisning

HTML5‑export skapar en sida för att visa och navigera presentationens bilder i en webbläsare. Detta exempel skickar true till både set_AnimateShapes och set_AnimateTransitions så att den exporterade bildvyn kan spela upp effekter från källpresentationen.

Använd en presentation som redan innehåller formanimationer och bildövergångar för att se effekten av dessa inställningar. Att aktivera dem lägger inte till nya effekter på bilder som saknar dem. Efter export, öppna det genererade HTML5‑dokumentet i en webbläsare med dess stödjande filer tillgängliga.

#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();

Konvertera en presentation till ett HTML5‑dokument med kommentarer

Du kan inkludera befintliga bildkommentarer i HTML5‑utdata så att läsare kan se återkoppling tillsammans med bildens innehåll. Exemplet i detta avsnitt förväntar sig att källpresentationen innehåller kommentarer, som illustrerat nedan. Det exporterar dessa kommentarer; det skapar inga nya.

Två kommentarer på presentationsbilden

Skicka ett NotesCommentsLayoutingOptions‑objekt till metoden set_SlidesLayoutOptions i Html5Options. Anropa set_CommentsPosition med CommentsPositions::Right från uppräkningen CommentsPositions för att placera kommentarer till höger om varje bild.

Följande exempel exporterar presentationen till HTML5 med denna kommentarslayout. En presentation utan kommentarer kommer inte att ha någon kommentartext att visa.

#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();

Bilden nedan visar det exporterade HTML5‑dokumentet med kommentarerna visade bredvid bilden.

Kommentarerna i den exporterade HTML5‑dokumentet

Uteslut JavaScript‑hyperlänkar vid export

Anta att hyperlinks.pptx innehåller länkad text med ett javascript:alert('Hello')‑mål och en vanlig https://example.com/‑länk. För att utesluta JavaScript‑hyperlänken vid export, anropa SaveOptions::set_SkipJavaScriptLinks med true. Standardvärdet är false, så dessa länkar filtreras inte förrän du aktiverar alternativet.

Följande exempel läser in presentationen från arbetskatalogen och exporterar den med 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();

Den exporterade filen utesluter JavaScript‑hyperlänken samtidigt som dess text och den vanliga HTTPS‑länken behålls. Källpresentationen förblir oförändrad.

Detta alternativ filtrerar JavaScript‑hyperlänkar; det tar inte bort alla skript eller annat aktivt innehåll, och det garanterar inte CSP‑efterlevnad. Till exempel innehåller HTML5‑utdata fortfarande skript för bildnavigering och animationer.

FAQ

Kan jag styra om objektanimationer och bildövergångar spelas upp i HTML5?

Ja, HTML5‑exporten erbjuder separata alternativ för att aktivera eller inaktivera formanimationer och bildövergångar.

Stöds kommentarer, och var kan de placeras i förhållande till bilden?

Ja, befintliga kommentarer kan inkluderas i HTML5‑utdata och placeras (till exempel till höger om bilden) via layoutinställningar för anteckningar och kommentarer.

Kan jag hoppa över länkar som anropar JavaScript av säkerhets‑ eller CSP‑skäl?

Ja, metoden set_SkipJavaScriptLinks låter dig hoppa över hyperlänkar med JavaScript‑anrop under sparande. Standardvärdet är false. Se Uteslut JavaScript‑hyperlänkar vid export för ett HTML5‑exportexempel och filterns omfattning. Denna inställning tar inte bort JavaScript som används av HTML5‑visaren för navigering och animationer.