Bezplatná PHP knihovna pro vytváření a správu DOCX souborů založených na šablonách

Přední open source PHP knihovna umožňuje vytvářet, číst, upravovat a manipulovat s dokumenty Microsoft Word (DOCX) z šablon. Přidávejte tabulky, vkládejte text, obrázky a aplikujte formátování pomocí bezplatného PHP API

Co je MDword?

Pro PHP vývojáře, kteří chtějí vytvářet nebo spravovat dokumenty Microsoft Word, se MDword vyznačuje jako lehká a efektivní alternativa PHP DOCX REST API. Jako open source PHP DOCX API umožňuje MDword vývojářům vytvářet DOCX soubory založené na šablonách, upravovat obsah a vytvářet bohaté funkce dokumentů – a to vše bez nutnosti spoléhat se na Microsoft Office nebo těžké závislosti. Tato bezplatná knihovna pro zpracování textu podporuje vkládání a správu tabulek, přidávání formátovaného textu, práci s obrázky a slučování více Word souborů do jednoho. Její minimalistický a výkonný přístup ji činí ideální pro generování dokumentů ze šablon, uživatelských dat nebo databázového obsahu v reálném čase v PHP aplikacích.

Navržena pro jednoduchost a výkon, MDword je všestranná PHP knihovna pro zpracování textu určená k tvorbě automatizovaných pracovních postupů s dokumenty. Vývojáři mohou snadno přidávat tabulky do DOCX pomocí PHP, manipulovat s odstavci a převádět Word dokumenty v PHP bez externích nástrojů jako LibreOffice nebo COM. Ať už vytváříte faktury, smlouvy nebo zprávy, MDword poskytuje robustní práci s DOCX v nativním PHP. S okamžitou kompatibilitou ve většině prostředí a bez licenčních poplatků je to vynikající volba pro správu Word dokumentů v dynamických webových aplikacích při zachování lehkosti a nákladové efektivity vývoje.

Previous Next

Začínáme s MDword

Doporučený způsob, jak zahrnout MDword do vašeho projektu, je použití GitHubu. Pro plynulou instalaci použijte následující příkaz.

Instalace MDword pomocí Composer

composer require mkdreams/mdword  

Instalace MDword pomocí GitHub

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

Generování Word dokumentů založených na šablonách pomocí PHP

V jádru MDword umožňuje vývojářům vytvářet nové Word dokumenty od nuly. Vývojáři mohou inicializovat nový objekt dokumentu a pak začít přidávat obsah. Můžete nastavit základní vlastnosti dokumentu, pokud knihovna podporuje (i když pokročilejší manipulace s vlastnostmi se může lišit). MDword umožňuje uživatelům vytvářet Word šablony s placeholdery, které mohou být dynamicky nahrazeny skutečnými daty. Podporuje text, tabulky, obrázky, grafy a další Word prvky. Následující příklad ukazuje, jak vývojáři mohou generovat základní Word dokument v PHP aplikacích.

Jak vytvořit Word (.docx) dokument založený na šabloně pomocí PHP knihovny?

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');

Přidání textu do Word a formátování pomocí PHP

Přidávání a formátování textu do Word dokumentů je základní požadavek a MDword nabízí možnosti vkládání textu a aplikování různých formátovacích voleb v PHP aplikacích. Vývojáři mohou přidávat odstavce, textové bloky a použít styly jako tučné, kurzíva, podtržení, velikost písma, rodinu písma a barvu. To umožňuje bohatý textový obsah ve vašich vytvořených dokumentech. Následující PHP kód ukazuje, jak vývojáři mohou vkládat text do Word dokumentů a aplikovat na něj formátování pomocí PHP knihovny.

Jak vložit text do Word dokumentu a aplikovat formátování pomocí PHP knihovny?

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.";

Přidání a správa tabulek ve Word souborech pomocí PHP

Tabulky jsou klíčové pro prezentaci strukturovaných dat. Open source knihovna MDword často poskytuje mechanismy pro vytváření tabulek, přidávání řádků, buněk a jejich naplňování obsahem. Vývojáři mohou definovat strukturu tabulek, nastavit obsah buněk (text, případně jiné prvky) a někdy aplikovat základní stylování okrajů nebo stínování buněk pomocí několika řádků kódu. Zde je jednoduchý příklad, který ukazuje, jak vytvářet a spravovat tabulky v .docx dokumentech pomocí PHP knihovny.

Jak vytvořit a spravovat tabulky v dokumentech Word DOCX pomocí PHP knihovny?

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.";

 Čeština