Convertir des diapositives PowerPoint en PNG en C++

À propos de la conversion PowerPoint en PNG

Le format PNG (Portable Network Graphics) n’est pas aussi populaire que le JPEG (Joint Photographic Experts Group), mais il reste très populaire.

Cas d’utilisation: Lorsque vous avez une image complexe et que la taille n’est pas un problème, le PNG est un meilleur format d’image que le JPEG.

Convertir PowerPoint en PNG

Suivez ces étapes :

  1. Instanciez la classe Presentation.
  2. Obtenez l’objet diapositive à partir de la collection Presentation::get_Slides() sous l’interface ISlide.
  3. Utilisez la méthode ISlide::GetImage() pour obtenir la miniature de chaque diapositive.
  4. Utilisez la méthode IImage::Save(String, ImageFormatPtr pour enregistrer la miniature de la diapositive au format PNG.

Ce code C++ vous montre comment convertir une présentation PowerPoint en 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);
}

Convertir PowerPoint en PNG avec des dimensions personnalisées

Si vous souhaitez obtenir des fichiers PNG à une certaine échelle, vous pouvez définir les valeurs de desiredX et desiredY, qui déterminent les dimensions de la miniature résultante.

Ce code en C++ illustre l’opération décrite :

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

Convertir PowerPoint en PNG avec une taille personnalisée

Si vous souhaitez obtenir des fichiers PNG d’une certaine taille, vous pouvez passer vos arguments préférés width et height pour ImageSize.

Ce code vous montre comment convertir un PowerPoint en PNG tout en spécifiant la taille des images :

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

Comment puis‑je exporter uniquement une forme spécifique (par ex. un graphique ou une image) plutôt que la diapositive entière ?
Aspose.Slides prend en charge la génération de miniatures pour des formes individuelles ; vous pouvez rendre une forme en image PNG.

La conversion parallèle est‑elle prise en charge sur un serveur ?
Oui, mais ne partagez pas une même instance de présentation entre plusieurs threads. Utilisez une instance distincte par thread ou processus.

Quelles sont les limites de la version d’essai lors de l’exportation au format PNG ?
Le mode d’évaluation ajoute un filigrane aux images de sortie et impose d’autres restrictions jusqu’à ce qu’une licence soit appliquée.