Quelles sont les techniques permettant de générer des présentations PowerPoint sans utiliser Office Automation?
-
05-07-2019 - |
Question
Bien qu'il soit possible de générer des présentations PowerPoint automatiquement à l'aide de Office Automation , il s'agit d'un non recommandé pour une utilisation sur un serveur . Comment générer une présentation PowerPoint sans utiliser Office Automation?
La solution
Une autre option qui n’a pas été mentionnée, à savoir la voie que nous avons finalement choisie, consiste à utiliser le Formats de fichier Open XML pris en charge naïvement dans Office 2007 et Office XP via un pack de compatibilité . Utilisation du Ouvrir XML SDK 1.0 / / > faire fonctionner quelque chose s’est avéré étonnamment simple.
Tout d'abord, un fichier de modèle générique a été préparé avec des jetons remplacés par le contenu à remplacer. Ensuite, une référence à DocumentFormat.OpenXml doit être ajoutée au projet. Le code lui-même fera référence aux espaces de noms DocumentFormat.OpenXml et DocumentFormat.OpenXml.Packaging. Enfin, le code pour parcourir les diapositives se présente comme suit:
// Open the presentation
PresentationDocument presentation = PresentationDocument.Open(fileName, true);
// Loop through all of the slides in the presentation
foreach (SlidePart slide in presentation.PresentationPart.SlideParts)
{
// Read the XML out of the slide
XmlDocument xml = new XmlDocument();
xml.Load(slide.GetStream());
// TODO: Your XML manipulation code here
// Save the updated slide
xml.Save(slide.GetStream());
}
// Save the updated presentation
presentation.Close();
Autres conseils
Vous pourriez écrire du code côté serveur utilisant une bibliothèque capable de générer des documents au format PowerPoint. Par exemple, en Java, vous pouvez utiliser Apache POI-HSLF pour générer des fichiers PPT par programme.
Selon ce que vous devez faire, commencer avec un fichier PPT 'modèle' peut s'avérer moins fastidieux et le modifier par programme pour insérer ou modifier du contenu.
Si votre technologie côté serveur est ASP.NET, vous pouvez utiliser Aspose.Slides . Il est assez puissant et fonctionne bien, même si ce n’est peut-être pas une solution rentable, selon ce que vous voulez faire.