Konversi Presentasi ke HTML5 dalam C++
Gambaran Umum
Artikel ini menjelaskan cara mengonversi presentasi PowerPoint ke HTML5 menggunakan Aspose.Slides untuk C++. Artikel ini mencakup ekspor dasar, kontrol animasi bentuk dan transisi slide, serta tata letak komentar. Artikel ini juga membandingkan output HTML5 dengan output berbasis SVG dari ekspor HTML standar.
Ekspor PowerPoint ke HTML5
Contoh berikut memuat presentasi dari direktori kerja dan menyimpannya dalam format HTML5. Contoh ini menggunakan pengaturan ekspor default; contoh berikutnya menunjukkan cara mengendalikan pemutaran animasi secara eksplisit. Ganti jalur input dengan jalur ke presentasi Anda.
#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
Selain dokumen HTML, ekspor menulis file CSS dan JavaScript pendukung untuk penataan slide, animasi, efek, dan navigasi. Simpan file-file ini bersama dokumen HTML saat memindahkan atau mempublikasikan output. Halaman yang dihasilkan juga memuat jQuery dan Anime.js dari CDN publik; tanpa mereka, navigasi slide dan animasi tidak berjalan.Untuk mengekspor tanpa memutar animasi bentuk atau transisi slide, berikan false ke set_AnimateShapes dan set_AnimateTransitions di Html5Options. Pengaturan ini independen, sehingga Anda dapat mengaktifkan salah satu sementara menonaktifkan yang lain. Contoh ini mengekspor presentasi dengan kedua jenis animasi dinonaktifkan dalam halaman yang dihasilkan.
#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();
Ekspor PowerPoint ke HTML
Ekspor HTML standar menggunakan pendekatan rendering yang berbeda: konten slide direpresentasikan sebagai SVG di dalam halaman HTML. Contoh berikut mengonversi presentasi ke dokumen HTML menggunakan pendekatan rendering ini.
#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();
Markup sederhana di bawah ini menggambarkan struktur halaman yang dihasilkan. Elemen SVG berisi konten slide yang dirender; teks placeholder mewakili konten tersebut dan bukan output ekspor literal.
<body>
<div class="slide" name="slide" id="slideslideIface1">
<svg version="1.1">
<g> THE SLIDE CONTENT GOES HERE </g>
</svg>
</div>
</body>
Warning
Ekspor berbasis SVG tidak menampilkan bentuk PowerPoint sebagai elemen HTML terpisah. Gunakan ekspor HTML5 ketika Anda memerlukan opsi animasi bentuk dan transisi slide yang ditunjukkan dalam artikel ini.Ekspor PowerPoint ke Tampilan Slide HTML5
Ekspor HTML5 menghasilkan halaman untuk melihat dan menavigasi slide presentasi di peramban. Contoh ini memberikan true ke kedua set_AnimateShapes dan set_AnimateTransitions sehingga tampilan slide yang diekspor dapat memutar efek dari presentasi sumber.
Gunakan presentasi yang sudah berisi animasi bentuk dan transisi slide untuk melihat efek pengaturan ini. Mengaktifkannya tidak menambahkan efek baru pada slide yang tidak memilikinya. Setelah ekspor, buka dokumen HTML5 yang dihasilkan di peramban dengan file pendukungnya tersedia.
#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();
Konversi Presentasi ke Dokumen HTML5 dengan Komentar
Anda dapat menyertakan komentar slide yang ada dalam output HTML5 sehingga pembaca dapat melihat umpan balik bersama konten slide. Contoh dalam bagian ini mengharapkan presentasi sumber berisi komentar, seperti yang diilustrasikan di bawah. Ia mengekspor komentar tersebut; tidak membuat komentar baru.

Berikan objek NotesCommentsLayoutingOptions ke metode set_SlidesLayoutOptions dari Html5Options. Panggil set_CommentsPosition dengan CommentsPositions::Right dari enumerasi CommentsPositions untuk menempatkan komentar di sebelah kanan masing-masing slide.
Contoh berikut mengekspor presentasi ke HTML5 dengan tata letak komentar ini. Presentasi tanpa komentar tidak akan menampilkan teks komentar.
#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();

Kecualikan Hyperlink JavaScript Saat Mengekspor
Misalkan hyperlinks.pptx berisi teks tertaut dengan target javascript:alert('Hello') dan tautan biasa https://example.com/. Untuk mengecualikan hyperlink JavaScript saat mengekspor, panggil SaveOptions::set_SkipJavaScriptLinks dengan true. Nilai default adalah false, sehingga tautan-tautan ini tidak disaring kecuali Anda mengaktifkan opsi tersebut.
Contoh berikut memuat presentasi dari direktori kerja dan mengekspornya menggunakan 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();
File yang diekspor menghilangkan hyperlink JavaScript sambil mempertahankan teksnya dan tautan HTTPS biasa. Presentasi sumber tidak berubah.
Opsi ini memfilter hyperlink JavaScript; tidak menghapus semua skrip atau konten aktif lainnya, juga tidak menjamin kepatuhan CSP. Misalnya, output HTML5 tetap menyertakan skrip untuk navigasi slide dan animasi.
FAQ
Apakah saya dapat mengontrol apakah animasi objek dan transisi slide akan diputar di HTML5?
Ya, ekspor HTML5 menyediakan opsi terpisah untuk mengaktifkan atau menonaktifkan animasi bentuk dan transisi slide.
Apakah komentar didukung, dan di mana dapat ditempatkan relatif terhadap slide?
Ya, komentar yang ada dapat disertakan dalam output HTML5 dan diposisikan (misalnya, di sebelah kanan slide) melalui pengaturan tata letak untuk catatan dan komentar.
Apakah saya dapat melewatkan tautan yang memanggil JavaScript untuk alasan keamanan atau CSP?
Ya, metode set_SkipJavaScriptLinks memungkinkan Anda melewatkan hyperlink dengan pemanggilan JavaScript saat menyimpan. Nilai default adalah false. Lihat Kecualikan Hyperlink JavaScript Saat Mengekspor untuk contoh ekspor HTML5 dan cakupan filter. Pengaturan ini tidak menghapus JavaScript yang digunakan oleh penampil HTML5 untuk navigasi dan animasi.