Biblioteca PHP Gratuita para Criar & Gerenciar Arquivos DOCX Baseados em Templates

Biblioteca PHP de Código Aberto de destaque permite Criar, Ler, Modificar e Manipular Documentos Microsoft Word (DOCX) a partir de Templates. Adicione Tabelas, Insira Texto, Imagens e Aplique Formatação via API PHP gratuita

O que é MDword?

Para desenvolvedores PHP que desejam criar ou gerenciar documentos Microsoft Word, o MDword destaca-se como uma alternativa leve e eficiente à API REST PHP DOCX. Como uma API PHP DOCX de código aberto, o MDword permite que desenvolvedores criem arquivos DOCX baseados em templates, modifiquem conteúdo e construam recursos avançados de documento — tudo sem depender do Microsoft Office ou de dependências pesadas. Esta biblioteca gratuita de processamento de texto suporta a inserção e gerenciamento de tabelas, adição de texto formatado, manipulação de imagens e a junção de múltiplos arquivos Word em um só. Sua abordagem minimalista e de alto desempenho a torna ideal para gerar documentos a partir de templates, dados de usuários ou conteúdo de banco de dados em tempo real em aplicações PHP.

Desenhado para simplicidade e desempenho, o MDword é uma biblioteca PHP de processamento de texto versátil para construir fluxos de trabalho de documentos automatizados. Os desenvolvedores podem facilmente adicionar tabelas a DOCX via PHP, manipular parágrafos e converter documentos Word em PHP sem ferramentas externas como LibreOffice ou COM. Seja gerando faturas, contratos ou relatórios, o MDword oferece um manuseio robusto de DOCX em PHP nativo. Com compatibilidade pronta para uso na maioria dos ambientes e sem taxas de licença, é uma escolha excelente para gerenciar documentos Word em PHP em aplicações web dinâmicas, mantendo o desenvolvimento leve e econômico.

Previous Next

Começando com MDword

A forma recomendada de instalar o MDword no seu projeto é usando o Composer. Por favor, use o comando abaixo para uma instalação tranquila.

Instalar MDword via Composer

composer require mkdreams/mdword  

Instalar MDword via GitHub

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

Geração de Documentos Word Baseados em Template via PHP

Em sua essência, o MDword permite que desenvolvedores criem novos documentos Word do zero. Os desenvolvedores podem iniciar um novo objeto de documento e então começar a adicionar conteúdo a ele. Você pode definir propriedades básicas do documento se a biblioteca as suportar (embora a manipulação de propriedades avançadas possa variar). O MDword permite que usuários criem templates Word com marcadores que podem ser substituídos dinamicamente por dados reais. Ele suporta texto, tabelas, imagens, gráficos e outros elementos Word. O exemplo a seguir demonstra como desenvolvedores podem gerar um documento Word básico dentro de aplicações PHP.

Como Criar um Documento Word (.docx) Baseado em Template via Biblioteca 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');

Adição de Texto Word & Formatação via PHP

Adicionar e formatar texto em documentos Word é uma exigência fundamental, e o MDword oferece recursos para inserir texto e aplicar várias opções de formatação dentro de aplicações PHP. Desenvolvedores podem adicionar parágrafos, trechos de texto e aplicar estilos como negrito, itálico, sublinhado, tamanho da fonte, família da fonte e cor. Isso permite conteúdo de texto rico nos seus documentos gerados. O código PHP a seguir mostra como desenvolvedores podem inserir texto em documentos Word e aplicar formatação via biblioteca PHP.

Como Inserir Texto em Documento Word e aplicar Formatação via Biblioteca 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.";

Adicionar & Gerenciar Tabelas em Arquivos Word via PHP

Tabelas são cruciais para apresentar dados estruturados. A biblioteca MDword de código aberto frequentemente fornece mecanismos para criar tabelas, adicionar linhas, células e preenchê-las com conteúdo. Desenvolvedores podem definir estruturas de tabelas, definir o conteúdo das células (texto, potencialmente outros elementos) e às vezes aplicar estilização básica a bordas ou sombreamento de células com apenas algumas linhas de código. Aqui está um exemplo simples que demonstra como criar e gerenciar tabelas dentro de documentos .docx via biblioteca PHP.

Como Criar e Gerenciar Tabelas dentro de Documentos Word DOCX via Biblioteca 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.";

 Português