Gratis PHP-bibliotek för att skapa & hantera mallbaserade DOCX-filer
Ledande öppna PHP-bibliotek som låter skapa, läsa, ändra och manipulera Microsoft Word (DOCX)-dokument från mallar. Lägg till tabeller, infoga text, bilder & tillämpa formatering via gratis PHP API
Vad är MDword?
För PHP-utvecklare som vill skapa eller hantera Microsoft Word-dokument utmärker sig MDword som ett lättviktigt och effektivt alternativ till PHP DOCX REST API. Som ett öppet PHP DOCX API gör MDword det möjligt för utvecklare att skapa mallbaserade DOCX-filer, modifiera innehåll och bygga rika dokumentfunktioner — allt utan att förlita sig på Microsoft Office eller tunga beroenden. Detta gratis ordbehandlingsbibliotek stödjer infogning och hantering av tabeller, tillägg av formaterad text, hantering av bilder och sammanslagning av flera Word-filer till en. Dess minimalistiska och högpresterande tillvägagångssätt gör det idealiskt för att generera dokument från mallar, användardata eller databas-innehåll i realtid inom PHP-appar.
MDword är designad för enkelhet och prestanda och är ett mångsidigt PHP-ordbehandlingsbibliotek för att bygga automatiserade dokumentarbetsflöden. Utvecklare kan enkelt lägga till tabeller i DOCX via PHP, manipulera stycken och konvertera Word-dokument med PHP utan externa verktyg som LibreOffice eller COM. Oavsett om du genererar fakturor, kontrakt eller rapporter, erbjuder MDword robust hantering av DOCX i inbyggd PHP. Med färdig kompatibilitet i de flesta miljöer och utan licensavgifter är det ett utmärkt val för att hantera Word-dokument i PHP i dynamiska webbapplikationer samtidigt som utvecklingen hålls lättviktig och kostnadseffektiv.
Komma igång med MDword
Det rekommenderade sättet att installera MDword i ditt projekt är att använda Composer. Använd följande kommando för en smidig installation.
Installera MDword via Composer
composer require mkdreams/mdword Installera MDword via GitHub
git clone https://github.com/mkdreams/MDword.git
Mallbaserad generering av Word-dokument via PHP
I sin kärna låter MDword mjukvaruutvecklare skapa nya Word-dokument från grunden. Utvecklare kan initiera ett nytt dokumentobjekt och sedan börja lägga till innehåll i det. Du kan ställa in grundläggande dokumentegenskaper om biblioteket stödjer dem (även om avancerad egenskapsmanipulation kan variera). MDword låter användare skapa Word-mallar med platshållare som kan ersättas dynamiskt med faktiska data. Det stödjer text, tabeller, bilder, diagram och andra Word-element. Följande exempel visar hur utvecklare kan generera ett grundläggande Word-dokument i PHP-applikationer.
Hur skapar man ett mallbaserat Word (.docx) dokument via PHP-biblioteket?
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');
Lägg till text i Word & formatering via PHP
Lägg till och formatera text i Word-dokument är ett grundläggande krav, och MDword erbjuder möjlighet att infoga text och tillämpa olika formateringsalternativ i PHP-applikationer. Mjukvaruutvecklare kan lägga till stycken, textsekvenser och tillämpa stilar såsom fetstil, kursiv, understrykning, teckenstorlek, teckensnitt och färg. Detta möjliggör rik textinnehåll i dina genererade dokument. Följande PHP‑kod visar hur utvecklare kan infoga text i Word-dokument och tillämpa formatering via PHP‑biblioteket.
Hur infogar man text i ett Word-dokument och tillämpar formatering via PHP-biblioteket?
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.";
Lägg till & hantera tabeller i Word-filer via PHP
Tabeller är avgörande för att presentera strukturerad data. Det öppna MDword-biblioteket erbjuder ofta mekanismer för att skapa tabeller, lägga till rader, celler och fylla dem med innehåll. Mjukvaruutvecklare kan definiera tabellstrukturer, ange cellinnehåll (text, eventuellt andra element) och ibland tillämpa grundläggande styling på kanter eller cellskuggning med bara några kodrader. Här är ett enkelt exempel som demonstrerar hur man skapar och hanterar tabeller i Word .docx-dokument via PHP‑biblioteket.
Hur skapar och hanterar man tabeller i Word DOCX-dokument via PHP-biblioteket?
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.";