Manipuler des fichiers OpenDocument avec PHP
Par Cyruss, lundi 25 mai 2009 à 21:44 :: PHP :: #53 :: rss
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.9
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}", ...
Remplacement de variables
- <?php
- // Make sure you have Zip extension loaded
- // First : include the librairy
- require_once('../library/odf.php');
- $odf = new odf("tutoriel1.odt");
- $odf->setVars('titre', 'PHP: Hypertext PreprocessorPHP: Hypertext Preprocessor');
- $message = "PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre ... commande.";
- $odf->setVars('message', $message);
- // 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.
Insertion d'images
Une autre fonctionnalité de la bibliothèque odtPHP est de permettre l'insertion d'images. Pour cela on utilise la méthode setImage() de la classe.
- <?php
- // Make sure you have Zip extension loaded
- // First : include the librairy
- require_once('../library/odf.php');
- $odf = new odf("tutoriel1.odt");
- $odf->setImage('image', './images/anaska.jpg');
- // On exporte le fichier
- $odf->exportAsAttachedFile();
- ?>
Il est également possible de faire des boucles et plus. D'autres tutoriels sont disponibles dans les sources.
N'hésitez pas à contribuer à cette bibliothèque.

Commentaires
1. Le dimanche 1 février 2009 à 17:24, par Sandra
2. Le samedi 11 avril 2009 à 23:27, par Humani Web : création site internet Lyon
3. Le mardi 5 mai 2009 à 00:25, par léopold
4. Le mardi 4 août 2009 à 15:18, par chris
5. Le samedi 15 août 2009 à 18:24, par Cours de PCEM1
6. Le mercredi 26 août 2009 à 17:46, par video
7. Le jeudi 27 août 2009 à 11:14, par winxu
8. Le lundi 5 octobre 2009 à 18:12, par streaming
Ajouter un commentaire