Bibliothèque PHP gratuite pour créer & gérer des fichiers DOCX basés sur des modèles

Bibliothèque PHP open source leader qui permet de créer, lire, modifier et manipuler des documents Microsoft Word (DOCX) à partir de modèles. Ajouter des tableaux, insérer du texte, des images & appliquer du formatage via l'API PHP gratuite

Qu'est-ce que la bibliothèque MDword ?

Pour les développeurs PHP souhaitant créer ou gérer des documents Microsoft Word, MDword se distingue comme une alternative légère et efficace à l'API REST PHP DOCX. En tant qu'API PHP DOCX open source, MDword permet aux développeurs de créer des fichiers DOCX basés sur des modèles, de modifier le contenu et d'ajouter des fonctionnalités riches aux documents, le tout sans dépendre de Microsoft Office ou de lourdes dépendances. Cette bibliothèque de traitement de texte gratuite prend en charge l'insertion et la gestion de tableaux, l'ajout de texte formaté, la manipulation d'images et la fusion de plusieurs fichiers Word en un seul. Son approche minimaliste et haute performance la rend idéale pour générer des documents à partir de modèles, de données utilisateur ou de contenu de base de données en temps réel dans les applications PHP.

Conçue pour la simplicité et la performance, MDword est une bibliothèque PHP polyvalente de traitement de texte pour créer des flux de travail de documents automatisés. Les développeurs peuvent facilement ajouter des tableaux aux DOCX via PHP, manipuler les paragraphes et convertir les documents Word en PHP sans outils externes comme LibreOffice ou COM. Que vous génériez des factures, des contrats ou des rapports, MDword offre une gestion robuste des DOCX en PHP natif. Avec une compatibilité immédiate dans la plupart des environnements et aucune frais de licence, c'est un excellent choix pour gérer les documents Word en PHP dans des applications web dynamiques tout en maintenant un développement léger et économique.

Previous Next

Prise en main de MDword

La façon recommandée d'installer MDword dans votre projet est d'utiliser Composer. Veuillez utiliser la commande suivante pour une installation fluide.

Installer MDword via Composer

composer require mkdreams/mdword  

Installer MDword via GitHub

git clone https://github.com/mkdreams/MDword.git 

Génération de documents Word basés sur des modèles via PHP

Au cœur de MDword, les développeurs peuvent créer de nouveaux documents Word à partir de zéro. Ils peuvent initialiser un nouvel objet document puis commencer à ajouter du contenu. Vous pouvez définir les propriétés de base du document si la bibliothèque les prend en charge (bien que la manipulation avancée des propriétés puisse varier). MDword permet aux utilisateurs de créer des modèles Word avec des espaces réservés qui peuvent être remplacés dynamiquement par des données réelles. Elle prend en charge le texte, les tableaux, les images, les graphiques et d'autres éléments Word. L'exemple suivant montre comment les développeurs peuvent générer un document Word de base dans des applications PHP.

Comment créer un document Word (.docx) basé sur un modèle via la bibliothèque PHP ?

require_once 'vendor/autoload.php';

use MDword\WordProcessor;

// Load a template
$template = new WordProcessor();
$template->load('template.docx');

// Replace placeholders
$template->setValue('{{NAME}}', 'John Doe');
$template->setValue('{{DATE}}', date('Y-m-d'));

// Save the modified document
$template->save('output.docx');

Ajout et formatage de texte Word via PHP

Ajouter et formater du texte dans les documents Word est une exigence principale, et MDword offre des capacités d'insertion de texte et d'application de diverses options de formatage dans les applications PHP. Les développeurs peuvent ajouter des paragraphes, des runs de texte et appliquer des styles tels que gras, italique, souligné, taille de police, famille de police et couleur. Cela permet d'avoir un contenu texte riche dans vos documents générés. Le code PHP suivant montre comment les développeurs peuvent insérer du texte dans des documents Word et appliquer le formatage via la bibliothèque PHP.

Comment insérer du texte dans un document Word et appliquer du formatage via la bibliothèque PHP ?

require 'vendor/autoload.php';
use Mkdreams\MDword\MDword;
use Mkdreams\MDword\Elements\TextRun;
use Mkdreams\MDword\Elements\Paragraph;

$mdword = new MDword();
$section = $mdword->createSection(); // Sections are often containers for content

// Add a simple paragraph
$paragraph1 = new Paragraph();
$paragraph1->addText('This is a simple paragraph.');
$section->addElement($paragraph1);

// Add a paragraph with formatted text
$paragraph2 = new Paragraph();
$textRun1 = new TextRun();
$textRun1->setText('This text is ');
$paragraph2->addElement($textRun1);

$textRun2 = new TextRun();
$textRun2->setText('bold and red.');
$textRun2->setFontStyle(['bold' => true, 'color' => 'FF0000']); // Color as hex
$paragraph2->addElement($textRun2);
$section->addElement($paragraph2);

// Add text with specific font and size
$paragraph3 = new Paragraph();
$textRun3 = new TextRun();
$textRun3->setText('This is Arial, size 16.');
$textRun3->setFontStyle(['name' => 'Arial', 'size' => 16]);
$paragraph3->addElement($textRun3);
$section->addElement($paragraph3);

$mdword->save('FormattedTextDocument.docx');
echo "Formatted document created.";

Ajouter & gérer des tableaux dans les fichiers Word via PHP

Les tableaux sont essentiels pour présenter des données structurées. La bibliothèque MDword open source propose souvent des mécanismes pour créer des tableaux, ajouter des lignes, des cellules et les remplir de contenu. Les développeurs peuvent définir des structures de tableaux, définir le contenu des cellules (texte, éventuellement d'autres éléments) et parfois appliquer un style de base aux bordures ou à l'ombrage des cellules avec quelques lignes de code seulement. Voici un exemple simple qui montre comment créer et gérer des tableaux dans des documents .docx via la bibliothèque PHP.

Comment créer et gérer des tableaux dans les documents Word DOCX via la bibliothèque PHP ?

require 'vendor/autoload.php';
use Mkdreams\MDword\MDword;
use Mkdreams\MDword\Elements\Table;
use Mkdreams\MDword\Elements\Row;
use Mkdreams\MDword\Elements\Cell;
use Mkdreams\MDword\Elements\TextRun;

$mdword = new MDword();
$section = $mdword->createSection();

// Create a table
$table = new Table();
// Potentially add table-level styling, e.g., borders
// $table->setStyle(['borderSize' => 6, 'borderColor' => '000000']);

// Add a header row
$headerRow = new Row();
$cellH1 = new Cell();
$cellH1->addTextRun(new TextRun('Header 1', ['bold' => true]));
$headerRow->addCell($cellH1);

$cellH2 = new Cell();
$cellH2->addTextRun(new TextRun('Header 2', ['bold' => true]));
$headerRow->addCell($cellH2);
$table->addRow($headerRow);

// Add a data row
$dataRow1 = new Row();
$cellR1C1 = new Cell();
$cellR1C1->addTextRun(new TextRun('Data A1'));
$dataRow1->addCell($cellR1C1);

$cellR1C2 = new Cell();
$cellR1C2->addTextRun(new TextRun('Data B1'));
$dataRow1->addCell($cellR1C2);
$table->addRow($dataRow1);

$section->addElement($table);
$mdword->save('DocumentWithTable.docx');
echo "Document with table created.";

 Français