Manipuler un fichier OpenDocument avec PHP
Publié par cyruss il y a 4 mois
Qui ne connait pas OpenOffice ? La célébre suite bureautique Open Source.
La grande nouveauté d'OpenOffice réside dans le format qu'il utilise : le format OpenDocument qui, soutenu par de nombreux acteurs majeurs de l'industrie informatique, est en devenir d''être le standard des documents bureautiques.
Bref ici nous allons voir comment manipuler un fichier odt avec PHP via la classe odtPHP.
Un peu de théorie
Passons aux choses sérieuses, analysons un fichier bureautique XML. Au niveau de la structure les fichiers OpenXML et OpenDocument sont batis sur le même modèle. Nous allons nous attacher à analyser le format d'un fichier Writer d'OpenOffice (extension odt).
Un fichier odt est en fait un fichier compressé comprenant plusieurs fichiers et répertoire.
Dans le fichier "content.xml" on retrouve tout le contenu textuel du fichier.
Présentation de la bibliothèque PHPodt
PHPOdt est une bibliothèque PHP destinée à servir de moteur de template pour des fichiers OpenDocument.Son utilisation requiert PHP 5.2 et d'activer l'extension Zip.
Notre tutoriel se base sur la version 0.2 qui supporte :
- la gestion des remplacements simple
- la gestion des boucles
- la gestion des images
Le site sourceforge de la bibliothèque PHP odt.
Dans le repertoire test vous avez trois tutoriels qui vous permettront de mettre en pratique les trois fonctionnalités de base de PHPodt.
Mise en place du template OpenOffice
La première phase consiste à mettre en place votre document référent OpenOffice. De la même façon qu'avec les templates PHPLib il vous suffit d'indiquer les endroits que vous souhaitez remplacer avec la notation suivante "{titre}", "{message}", ...
Appels à la bibliothèque
- <?php
- // First : include the librairy
- require_once('../library/odf.php');
- $odf = new odf("tutoriel1.odt");
- $odf->setVars('titre','premier titre de remplacement');
- $odf->setVars('message',"texte\n sur plusieurs lignes mais va comprendre");
- // On exporte le fichier
- $odf->exportAsAttachedFile();
- ?>
Ces quelques lignes de code vont vous permettre d'utiliser la fonctionnalité la plus basique de la bibliothèque PHPodt : le remplacement de variables.
D'autres tutoriels sont disponibles dans les sources. N'hésitez pas à contribuer à cette bibliothèque.