Convertir les présentations PowerPoint en documents Word dans .NET

Vue d’ensemble

Cet article fournit une solution aux développeurs pour convertir des présentations PowerPoint et OpenDocument en documents Word à l’aide d’Aspose.Slides for .NET et d’Aspose.Words for .NET. Le guide étape par étape vous accompagne à chaque étape du processus de conversion.

Convertir une présentation en document Word

Suivez les instructions ci-dessous pour convertir une présentation PowerPoint ou OpenDocument en document Word :

  1. Instanciez la classe Presentation et chargez un fichier de présentation.
  2. Instanciez les classes Document et DocumentBuilder pour générer un document Word.
  3. Définissez la taille de page du document Word pour qu’elle corresponde à celle de la présentation en utilisant la propriété DocumentBuilder.PageSetup.
  4. Définissez les marges du document Word en utilisant la propriété DocumentBuilder.PageSetup.
  5. Parcourez toutes les diapositives de la présentation à l’aide de la propriété Presentation.Slides :
    • Générez une image de diapositive en utilisant la méthode GetImage de l’interface ISlide, puis enregistrez‑la dans un flux mémoire.
    • Ajoutez l’image de la diapositive au document Word en utilisant la méthode InsertImage de la classe DocumentBuilder.
  6. Enregistrez le document Word dans un fichier.

Supposons que nous ayons une présentation “sample.pptx” qui ressemble à ceci :

Présentation PowerPoint

L’exemple de code C# suivant montre comment convertir la présentation PowerPoint en document Word :

// Charger un fichier de présentation.
using var presentation = new Presentation("sample.pptx");

// Créer les objets Document et DocumentBuilder.
var document = new Document();
var builder = new DocumentBuilder(document);

// Définir la taille de page dans le document Word.
var slideSize = presentation.SlideSize.Size;
builder.PageSetup.PageWidth = slideSize.Width;
builder.PageSetup.PageHeight = slideSize.Height;

// Définir les marges dans le document Word.
builder.PageSetup.LeftMargin = 0;
builder.PageSetup.RightMargin = 0;
builder.PageSetup.TopMargin = 0;
builder.PageSetup.BottomMargin = 0;

const float scaleX = 2, scaleY = 2;

// Parcourir toutes les diapositives de la présentation.
foreach (var slide in presentation.Slides)
{
    // Générer une image de diapositive et l'enregistrer dans un flux mémoire.
    using var image = slide.GetImage(scaleX, scaleY);
    using var imageStream = new MemoryStream();
    image.Save(imageStream, ImageFormat.Png);

    // Ajouter l'image de la diapositive au document Word.
    imageStream.Seek(0, SeekOrigin.Begin);
    builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight);

    builder.InsertBreak(BreakType.PageBreak);
}

// Enregistrer le document Word dans un fichier.
document.Save("output.docx");

Le résultat :

Document Word

FAQ

Quels composants doivent être installés pour convertir des présentations PowerPoint et OpenDocument en documents Word ?

Vous devez simplement ajouter les packages NuGet respectifs pour Aspose.Slides for .NET et Aspose.Words for .NET à votre projet C#. Les deux bibliothèques fonctionnent comme des API autonomes, et aucune installation de Microsoft Office n’est requise.

Tous les formats de présentation PowerPoint et OpenDocument sont-ils pris en charge ?

Aspose.Slides for .NET prend en charge tous les formats de présentation, y compris PPT, PPTX, ODP et d’autres types de fichiers courants. Cela vous permet de travailler avec des présentations créées dans différentes versions de Microsoft PowerPoint.