Maître de Branche :
PHPWord est une bibliothèque écrite en PHP pur qui fournit un ensemble de classes dans lesquelles écrire et lire à partir de différents formats de fichiers de documents. La version actuelle de PHPWord prend en charge Microsoft Office Open XML (OOXML ou OpenXML), OASIS Open Document Format pour les applications Office (OpenDocument ou ODF), Rich Text Format (RTF), HTML et PDF.
PHPWord est un projet open source sous licence LGPL version 3. PHPWord vise à être un produit logiciel de haute qualité en intégrant une intégration continue et des tests unitaires. Vous pouvez en savoir plus sur PHPWord en lisant la documentation des développeurs.
Si vous avez des questions, veuillez les poser sur StackOverFlow
En savoir plus sur PHPWord :
Avec PHPWord, vous pouvez créer dynamiquement des documents OOXML, ODF ou RTF à l'aide de vos scripts PHP. Voici quelques-unes des choses que vous pouvez faire avec la bibliothèque PHPWord :
PHPWord nécessite les éléments suivants :
PHPWord est installé via Composer. Pour ajouter une dépendance à PHPWord dans votre projet, soit
Exécutez ce qui suit pour utiliser la dernière version stable
composer require phpoffice/phpword
ou si vous voulez la dernière version inédite
composer require phpoffice/phpword:dev-master
Ce qui suit est un exemple d'utilisation de base de la bibliothèque PHPWord.
require_once ' bootstrap.php ' ;
// Creating the new document...
$ phpWord = new PhpOffice PhpWord PhpWord ();
/* Note: any element you append to a document must reside inside of a Section. */
// Adding an empty Section to the document...
$ section = $ phpWord -> addSection ();
// Adding Text element to the Section having font styled by default...
$ section -> addText (
' "Learn from yesterday, live for today, hope for tomorrow. '
. ' The important thing is not to stop questioning." '
. ' (Albert Einstein) '
);
/*
* Note: it's possible to customize font style of the Text element you add in three ways:
* - inline;
* - using named font style (new font style object will be implicitly created);
* - using explicitly created font style object.
*/
// Adding Text element with font customized inline...
$ section -> addText (
' "Great achievement is usually born of great sacrifice, '
. ' and is never the result of selfishness." '
. ' (Napoleon Hill) ' ,
array ( ' name ' => ' Tahoma ' , ' size ' => 10 )
);
// Adding Text element with font customized using named font style...
$ fontStyleName = ' oneUserDefinedStyle ' ;
$ phpWord -> addFontStyle (
$ fontStyleName ,
array ( ' name ' => ' Tahoma ' , ' size ' => 10 , ' color ' => ' 1B2232 ' , ' bold ' => true )
);
$ section -> addText (
' "The greatest accomplishment is not in never falling, '
. ' but in rising again after you fall." '
. ' (Vince Lombardi) ' ,
$ fontStyleName
);
// Adding Text element with font customized using explicitly created font style object...
$ fontStyle = new PhpOffice PhpWord Style Font ();
$ fontStyle -> setBold ( true );
$ fontStyle -> setName ( ' Tahoma ' );
$ fontStyle -> setSize ( 13 );
$ myTextElement = $ section -> addText ( ' "Believe you can and you ' re halfway there." (Theodor Roosevelt) ' );
$ myTextElement -> setFontStyle ( $ fontStyle );
// Saving the document as OOXML file...
$ objWriter = PhpOffice PhpWord IOFactory :: createWriter ( $ phpWord , ' Word2007 ' );
$ objWriter -> save ( ' helloWorld.docx ' );
// Saving the document as ODF file...
$ objWriter = PhpOffice PhpWord IOFactory :: createWriter ( $ phpWord , ' ODText ' );
$ objWriter -> save ( ' helloWorld.odt ' );
// Saving the document as HTML file...
$ objWriter = PhpOffice PhpWord IOFactory :: createWriter ( $ phpWord , ' HTML ' );
$ objWriter -> save ( ' helloWorld.html ' );
/* Note: we skip RTF, because it's not XML-based and requires a different example. */
/* Note: we skip PDF, because "HTML-to-PDF" approach is used to create PDF documents. */
D'autres exemples sont fournis dans le dossier des exemples. Pour un accès facile à ces exemples, lancez php -S localhost:8000
dans le répertoire des exemples, puis accédez à http://localhost:8000 pour afficher les exemples. Vous pouvez également lire la documentation des développeurs pour plus de détails.
Nous invitons tout le monde à contribuer à PHPWord. Vous trouverez ci-dessous certaines des choses que vous pouvez faire pour contribuer.