Konversi Slide PowerPoint ke PNG dalam C++

Ikhtisar

Artikel ini menjelaskan cara mengonversi presentasi PowerPoint ke gambar PNG menggunakan Aspose.Slides. Artikel ini menunjukkan cara memuat file presentasi dalam format seperti PPT, PPTX, dan ODP, merender slide sebagai gambar, dan menyimpan hasilnya dalam format PNG.

Artikel ini juga memperlihatkan cara menyesuaikan gambar PNG yang dihasilkan dengan mengatur nilai skala atau menentukan lebar dan tinggi yang diinginkan.

Konversi PowerPoint ke PNG

Ikuti langkah-langkah berikut:

  1. Buat instance kelas Presentation.
  2. Dapatkan objek slide dari koleksi Presentation::get_Slides() di bawah antarmuka ISlide.
  3. Gunakan metode ISlide::GetImage() untuk mendapatkan thumbnail setiap slide.
  4. Gunakan metode IImage::Save(String, ImageFormatPtr untuk menyimpan thumbnail slide ke format PNG.

Kode C++ berikut menunjukkan cara mengonversi presentasi PowerPoint ke PNG:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage()->Save(fileName, ImageFormat::Png);
}

Konversi PowerPoint ke PNG dengan Dimensi Kustom

Jika Anda ingin memperoleh file PNG dengan skala tertentu, Anda dapat mengatur nilai desiredX dan desiredY, yang menentukan dimensi thumbnail yang dihasilkan.

Kode C++ di bawah ini mendemonstrasikan operasi tersebut:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");

float scaleX = 2.f;
float scaleY = 2.f;
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage(scaleX, scaleY)->Save(fileName, ImageFormat::Png);
}

Konversi PowerPoint ke PNG dengan Ukuran Kustom

Jika Anda ingin memperoleh file PNG dengan ukuran tertentu, Anda dapat memberi argumen width dan height yang diinginkan untuk ImageSize.

Kode berikut menunjukkan cara mengonversi PowerPoint ke PNG sambil menentukan ukuran gambar:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    
Size size(960, 720);
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage(size)->Save(fileName, ImageFormat::Png);
}

FAQ

Bagaimana cara mengekspor hanya bentuk tertentu (misalnya diagram atau gambar) bukan seluruh slide?

Aspose.Slides mendukung generating thumbnails for individual shapes; Anda dapat merender sebuah bentuk ke gambar PNG.

Apakah konversi paralel didukung pada server?

Ya, tetapi don’t share satu instance presentasi di antara thread. Gunakan instance terpisah per thread atau proses.

Apa saja batasan versi percobaan saat mengekspor ke PNG?

Mode evaluasi menambahkan watermark pada gambar output dan memberlakukan other restrictions sampai lisensi diterapkan.