Menyimpan Presentasi dalam C++
Gambaran Umum
Open Presentations in C++ menjelaskan cara menggunakan kelas Presentation untuk membuka sebuah presentasi. Artikel ini menjelaskan cara membuat dan menyimpan presentasi. Kelas Presentation berisi isi sebuah presentasi. Baik Anda membuat presentasi dari awal maupun memodifikasi yang sudah ada, Anda perlu menyimpannya setelah selesai. Dengan Aspose.Slides untuk C++, Anda dapat menyimpan ke file atau stream. Artikel ini menjelaskan berbagai cara menyimpan presentasi.
Menyimpan Presentasi ke File
Simpan presentasi ke file dengan memanggil metode Save pada kelas Presentation. Berikan nama file dan format penyimpanan ke metode tersebut. Contoh berikut menunjukkan cara menyimpan presentasi dengan Aspose.Slides.
// Instansiasi kelas Presentation yang mewakili file presentasi.
auto presentation = MakeObject<Presentation>();
// Lakukan beberapa pekerjaan di sini...
// Simpan presentasi ke file.
presentation->Save(u"Output.pptx", SaveFormat::Pptx);
presentation->Dispose();
Menyimpan Presentasi ke Stream
Anda dapat menyimpan presentasi ke stream dengan memberikan output stream ke metode Save pada kelas Presentation. Sebuah presentasi dapat ditulis ke banyak tipe stream. Pada contoh di bawah, kami membuat presentasi baru dan menyimpannya ke file stream.
// Instansiasikan kelas Presentation yang mewakili file presentasi.
auto presentation = MakeObject<Presentation>();
auto fileStream = MakeObject<FileStream>(u"Output.pptx", FileMode::Create);
// Simpan presentasi ke stream.
presentation->Save(fileStream, SaveFormat::Pptx);
presentation->Dispose();
fileStream->Close();
Menyimpan Presentasi dengan Tipe Tampilan yang Sudah Ditentukan
Aspose.Slides memungkinkan Anda mengatur tampilan awal yang digunakan PowerPoint saat presentasi yang dihasilkan dibuka melalui kelas ViewProperties. Gunakan metode set_LastView dengan nilai dari enumerasi ViewType.
auto presentation = MakeObject<Presentation>();
presentation->get_ViewProperties()->set_LastView(ViewType::SlideMasterView);
presentation->Save(u"SlideMasterView.pptx", SaveFormat::Pptx);
presentation->Dispose();
Menyimpan Presentasi dalam Format Strict Office Open XML
Aspose.Slides memungkinkan Anda menyimpan presentasi dalam format Strict Office Open XML. Gunakan kelas PptxOptions dan atur properti conformance-nya saat menyimpan. Jika Anda menetapkan Conformance.Iso29500_2008_Strict, file output akan disimpan dalam format Strict Office Open XML.
Contoh di bawah membuat presentasi dan menyimpannya dalam format Strict Office Open XML.
auto options = MakeObject<PptxOptions>();
options->set_Conformance(Conformance::Iso29500_2008_Strict);
// Instansiasikan kelas Presentation yang mewakili file presentasi.
auto presentation = MakeObject<Presentation>();
// Simpan presentasi dalam format Strict Office Open XML.
presentation->Save(u"StrictOfficeOpenXml.pptx", SaveFormat::Pptx, options);
presentation->Dispose();
Menyimpan Presentasi dalam Format Office Open XML dengan Mode Zip64
File Office Open XML adalah arsip ZIP yang membatasi ukuran tidak terkompresi setiap file, ukuran terkompresi setiap file, dan total ukuran arsip menjadi 4 GB (2^32 byte), serta membatasi jumlah file dalam arsip menjadi 65 535 (2^16‑1). Ekstensi format ZIP64 mengangkat batasan ini menjadi 2^64.
Metode IPptxOptions::set_Zip64Mode memungkinkan Anda memilih kapan menggunakan ekstensi format ZIP64 saat menyimpan file Office Open XML.
Metode ini dapat digunakan dengan mode berikut:
IfNecessarymenggunakan ekstensi format ZIP64 hanya jika presentasi melampaui batasan di atas. Ini adalah mode default.Nevertidak pernah menggunakan ekstensi format ZIP64.Alwaysselalu menggunakan ekstensi format ZIP64.
Kode berikut menunjukkan cara menyimpan presentasi sebagai PPTX dengan ekstensi format ZIP64 diaktifkan:
auto pptxOptions = MakeObject<PptxOptions>();
pptxOptions->set_Zip64Mode(Zip64Mode::Always);
auto presentation = MakeObject<Presentation>(u"Sample.pptx");
presentation->Save(u"OutputZip64.pptx", SaveFormat::Pptx, pptxOptions);
presentation->Dispose();
NOTE
Saat Anda menyimpan denganZip64Mode.Never, sebuah PptxException akan dilempar jika presentasi tidak dapat disimpan dalam format ZIP32.
Menyimpan Presentasi tanpa Menyegarkan Thumbnail
Metode PptxOptions::set_RefreshThumbnail mengontrol pembuatan thumbnail saat menyimpan presentasi ke PPTX:
- Jika diatur ke
true, thumbnail akan disegarkan selama proses penyimpanan. Ini adalah nilai default. - Jika diatur ke
false, thumbnail saat ini akan dipertahankan. Jika presentasi tidak memiliki thumbnail, tidak ada yang akan dibuat.
Pada kode di bawah, presentasi disimpan ke PPTX tanpa menyegarkan thumbnail-nya.
auto pptxOptions = MakeObject<PptxOptions>();
pptxOptions->set_RefreshThumbnail(false);
auto presentation = MakeObject<Presentation>(u"Sample.pptx");
presentation->Save(u"Output.pptx", SaveFormat::Pptx, pptxOptions);
presentation->Dispose();
Info
Opsi ini membantu mengurangi waktu yang diperlukan untuk menyimpan presentasi dalam format PPTX.Pembaharuan Progres Penyimpanan dalam Persentase
Antarmuka IProgressCallback digunakan melalui metode set_ProgressCallback yang disediakan oleh antarmuka ISaveOptions dan kelas abstrak SaveOptions. Tetapkan implementasi IProgressCallback dengan set_ProgressCallback untuk menerima pembaruan progres penyimpanan dalam persentase.
Potongan kode berikut memperlihatkan cara menggunakan IProgressCallback.
class ExportProgressHandler : public IProgressCallback
{
public:
void Reporting(double progressValue)
{
// Gunakan nilai persentase kemajuan di sini.
int progress = static_cast<int>(progressValue);
Console::WriteLine(u"{0}% of the file has been converted.", progress);
}
};
auto saveOptions = MakeObject<PdfOptions>();
saveOptions->set_ProgressCallback(MakeObject<ExportProgressHandler>());
auto presentation = MakeObject<Presentation>(u"Sample.pptx");
presentation->Save(u"Output.pdf", SaveFormat::Pdf, saveOptions);
presentation->Dispose();
Info
Aspose telah mengembangkan aplikasi free PowerPoint Splitter app menggunakan API miliknya. Aplikasi ini memungkinkan Anda membagi sebuah presentasi menjadi beberapa file dengan menyimpan slide terpilih sebagai file PPTX atau PPT baru.FAQ
Apakah “fast save” (penyimpanan inkremental) didukung sehingga hanya perubahan yang ditulis?
Tidak. Penyimpanan selalu membuat file target lengkap setiap kali; “fast save” inkremental tidak didukung.
Apakah aman untuk menyimpan instance Presentation yang sama dari beberapa thread?
Tidak. Sebuah Presentation tidak thread‑safe; simpan hanya dari satu thread.
Apa yang terjadi pada hyperlink dan file yang ditautkan secara eksternal saat menyimpan?
Hyperlink dipertahankan. File yang ditautkan secara eksternal (misalnya video dengan jalur relatif) tidak disalin secara otomatis—pastikan jalur yang dirujuk tetap dapat diakses.
Bisakah saya mengatur/menyimpan metadata dokumen (Penulis, Judul, Perusahaan, Tanggal)?
Ya. Properti dokumen standar didukung dan akan ditulis ke file saat disimpan.