Quali sono alcune tecniche per generare presentazioni di PowerPoint senza usare Office Automation?

StackOverflow https://stackoverflow.com/questions/825247

Domanda

Sebbene sia possibile generare presentazioni di PowerPoint automaticamente utilizzando Office Automation , questo è non raccomandato per l'uso su un server . Come puoi generare una presentazione di PowerPoint senza usare Office Automation?

È stato utile?

Soluzione

Un'altra opzione che non è stata menzionata, che è stata la strada che alla fine abbiamo preso, è quella di utilizzare Open XML formati di file supportati ingenuamente in Office 2007 e in Office XP tramite un pacchetto di compatibilità . Utilizzo di Open XML SDK 1.0 far funzionare qualcosa si è rivelato sorprendentemente semplice.

Innanzitutto, è stato preparato un file modello generico con token messi al posto del contenuto che avrebbe dovuto essere sostituito. Successivamente, è necessario aggiungere al progetto un riferimento a DocumentFormat.OpenXml. Il codice stesso farà riferimento agli spazi dei nomi DocumentFormat.OpenXml e DocumentFormat.OpenXml.Packaging. Infine, il codice per scorrere le diapositive è simile al seguente:

// 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();

Altri suggerimenti

È possibile scrivere del codice lato server che utilizza una libreria in grado di generare documenti in formato PowerPoint. Ad esempio, in Java è possibile utilizzare Apache POI-HSLF per generare file PPT in modo programmatico.

A seconda di ciò che devi fare, potrebbe essere meno complicato iniziare con un file PPT "modello" e modificarlo a livello di codice per inserire o modificare il contenuto.

Se la tua tecnologia lato server è ASP.NET, puoi utilizzare Aspose.Slides . È abbastanza potente e funziona bene, anche se potrebbe non essere una soluzione economica, a seconda di cosa vuoi fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top