Converti le diapositive PowerPoint in PNG in C++

Panoramica

Questo articolo spiega come convertire le presentazioni PowerPoint in immagini PNG utilizzando Aspose.Slides. Mostra come caricare i file di presentazione in formati come PPT, PPTX e ODP, rendere le diapositive come immagini e salvare i risultati in formato PNG.

L’articolo dimostra anche come personalizzare le immagini PNG generate impostando i valori di scala o specificando la larghezza e l’altezza desiderate.

Converti PowerPoint in PNG

Segui questi passaggi:

  1. Istanzia la classe Presentation.
  2. Ottieni l’oggetto diapositiva dalla collezione Presentation::get_Slides() tramite l’interfaccia ISlide.
  3. Utilizza il metodo ISlide::GetImage() per ottenere la miniatura di ogni diapositiva.
  4. Usa il metodo IImage::Save(String, ImageFormatPtr per salvare la miniatura della diapositiva in formato PNG.

Questo codice C++ mostra come convertire una presentazione PowerPoint in 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);
}

Converti PowerPoint in PNG con dimensioni personalizzate

Se desideri ottenere file PNG a una certa scala, puoi impostare i valori di desiredX e desiredY, che determinano le dimensioni della miniatura risultante.

Questo codice in C++ dimostra l’operazione descritta:

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);
}

Converti PowerPoint in PNG con dimensione personalizzata

Se desideri ottenere file PNG a una certa dimensione, puoi passare i valori di width e height desiderati per ImageSize.

Questo codice mostra come convertire un PowerPoint in PNG specificando la dimensione delle immagini:

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

Come posso esportare solo una forma specifica (ad esempio un grafico o un’immagine) anziché l’intera diapositiva?

Aspose.Slides supporta la generazione di miniature per forme individuali; è possibile rendere una forma in un’immagine PNG.

La conversione parallela è supportata su un server?

Sì, ma non condividere una singola istanza di presentazione tra i thread. Usa un’istanza separata per thread o processo.

Quali sono le limitazioni della versione di prova durante l’esportazione in PNG?

La modalità di valutazione aggiunge una filigrana alle immagini di output e impone altre restrizioni finché non viene applicata una licenza.