2009-11-30 16 views
6

Mi piacerebbe creare un PowerPoint (non Javascript/HTML/PDF/Keynote/.mov) utilizzando il codice (qualsiasi lingua, C preferito) gratuitamente.Come posso creare presentazioni di PowerPoint a livello di codice. Su Linux Gratuito.

(ho visto this SO question che fa riferimento come crearli in C#)

Questo è anche possibile? Come posso scrivere i bit grezzi che compongono un file PowerPoint? Qualche buona libreria per farlo?

UPDATE La pagina di riferimento Microsoft per il formato binario è here.

+0

http://stackoverflow.com/questions/18433059/writing-custom-code-for- powerpoint # Qualsiasi idea –

risposta

7

Open Office ha un API. È possibile utilizzare i collegamenti C++ (doc disponibile here). Se si ha realmente bisogno C, dovrete fare un po 'di avvolgimento .. ma hey, è Natale, non è vero ;-)

Open Office ha funzioni di esportazione per creano .ppt file compatibili.

7

PowerPoint non è possibile, ma OpenOffice Impress è possibile. (Risposta in stile Yoda :))

Dai uno sguardo al progetto ODF Toolkit. Mirano a produrre molte librerie per generare questo tipo di contenuto in modo programmatico.

+7

In su votato che ho, il collegamento è necessario fornire. –

+0

Link che hai ora. http://odftoolkit.openoffice.org/ :) –

+1

Aggiorna la tua risposta, dovresti ;-) – jldupont

2

Se non ti dispiace andare in Java, Apache POI fornisce lettori e scrittori per la maggior parte dei formati di MS Office (fino alla versione 2003 in ogni caso).

2

A meno che non siate specificamente interessati ai file binari di PowerPoint 2003, PowerPoint 2007 e successivi file .PPTX sono in realtà una raccolta di file XML all'interno di un file zippato. Lo puoi vedere, semplicemente rinominando un file .pptx in .zip e aprendolo. Puoi creare questi file XML nel modo che preferisci, come scrivere codice per farlo. PresentationML definisce i documenti XML PowerPoint, date un'occhiata qui per esempio: http://msdn.microsoft.com/en-us/openspecifications/hh295812.aspx Le norme potrebbero essere trovate qui: http://www.ecma-international.org/publications/standards/Ecma-376.htm

Problemi correlati