Quais são algumas técnicas para gerar apresentações de PowerPoint sem usar Office Automation?

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

Pergunta

Embora seja possível gerar apresentações de PowerPoint automaticamente usando o Office Automation , este é não é recomendado para uso em um servidor. Como você pode ir sobre a geração de uma apresentação PowerPoint sem usar Office Automation?

Foi útil?

Solução

Outra opção que não se mencionou, que foi a rota que, em última análise levou, é fazer uso do Open XML formatos de arquivo que são suportados ingenuamente no Office 2007 e no Office XP através de um pacote de compatibilidade . Usando o Open XML SDK 1.0 obter algo de trabalho acabou por ser surpreendentemente simples.

Primeiro, um arquivo de modelo genérico foi preparado com fichas colocar no lugar do conteúdo que precisaria ser substituído. Em seguida, uma referência a DocumentFormat.OpenXml precisa ser adicionado ao projeto. O código em si irá referenciar os namespaces DocumentFormat.OpenXml e DocumentFormat.OpenXml.Packaging. Finalmente, o código para percorrer os slides parece com o seguinte:

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

Outras dicas

Você pode escrever algum código do lado do servidor que usa uma biblioteca que pode gerar documentos em formato PowerPoint. Por exemplo, em Java você pode usar Apache POI-HSLF para gerar arquivos PPT programaticamente.

Dependendo do que você precisa fazer, pode ser menos trabalho para começar com um arquivo PPT 'modelo', e modificá-lo por meio de programação para inserir ou editar o conteúdo.

Se a sua tecnologia do lado do servidor é ASP.NET, você pode usar Aspose.Slides . É muito poderoso e funciona bem, embora possa não ser uma solução de custo eficaz, dependendo do que você quer fazer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top