2009-11-30 3 views
6

Je voudrais créer un PowerPoint (pas Javascript/HTML/PDF/Keynote/.mov) en utilisant le code (n'importe quelle langue, C préféré) gratuitement.Comment puis-je créer par programme des présentations PowerPoint. Sur Linux. Gratuitement.

(je l'ai vu this SO question qui fait référence à la façon de les créer dans C#)

Est-ce même possible? Comment puis-je écrire les bits bruts qui composent un fichier PowerPoint? Des bonnes bibliothèques pour cela?

MISE À JOUR La page de référence Microsoft pour le format binaire est here.

+0

http://stackoverflow.com/questions/18433059/writing-custom-code-for- powerpoint # Toute idée –

Répondre

7

Open Office a un API. Vous pouvez utiliser les liaisons C++ (doc disponible here). Si vous avez vraiment besoin C, vous devrez faire un peu d'emballage .. mais bon, il est Noël, non ;-)

Open Office a des fonctions d'exportation à créer des fichiers compatibles .ppt.

7

PowerPoint vous ne pouvez pas, mais OpenOffice Impress vous pouvez. (Réponse de style Yoda :))

Jetez un coup d'oeil au projet ODF Toolkit. Ils visent à produire beaucoup de bibliothèques pour générer ce type de contenu par programmation.

+7

Up vous avez voté Je, vous devez fournir un lien. –

+0

Lien que vous avez maintenant. http://odftoolkit.openoffice.org/ :) –

+1

Mettez à jour votre réponse, vous devriez ;-) – jldupont

2

Si vous ne me dérange pas d'aller à Java, Apache POI offre à ses lecteurs et écrivains pour la plupart des formats MS Office (jusqu'à la version 2003 de toute façon).

2

Sauf si vous êtes spécifiquement intéressé par les fichiers binaires PowerPoint 2003, PowerPoint 2007 et jusqu'à .pptx sont en fait une collection de fichiers XML dans un fichier compressé. Vous pouvez le constater en renommant simplement un fichier .pptx en .zip et en l'ouvrant. Vous pouvez créer ces fichiers XML comme vous le souhaitez, par exemple en écrivant du code pour le faire. PresentationML définit les documents XML powerpoint, jetez un oeil ici par exemple: http://msdn.microsoft.com/en-us/openspecifications/hh295812.aspx Les normes peuvent être trouvées ici: http://www.ecma-international.org/publications/standards/Ecma-376.htm

Questions connexes