Darmowa biblioteka PHP do tworzenia i zarządzania plikami DOCX opartymi na szablonach
Wiodąca otwartoźródłowa biblioteka PHP umożliwia tworzenie, odczyt, modyfikację i manipulację dokumentami Microsoft Word (DOCX) na podstawie szablonów. Dodawaj tabele, wstawiaj tekst, obrazy i stosuj formatowanie za pomocą darmowego API PHP
Czym jest MDword?
Dla programistów PHP, którzy chcą tworzyć lub zarządzać dokumentami Microsoft Word, MDword wyróżnia się jako lekka i wydajna alternatywa PHP DOCX REST API. Jako otwartoźródłowe API PHP DOCX, MDword umożliwia programistom tworzenie plików DOCX opartych na szablonach, modyfikowanie treści oraz budowanie bogatych funkcji dokumentów — wszystko bez polegania na Microsoft Office czy ciężkich zależnościach. Ta darmowa biblioteka do przetwarzania tekstu obsługuje wstawianie i zarządzanie tabelami, dodawanie sformatowanego tekstu, obsługę obrazów oraz scalanie wielu plików Word w jeden. Jej minimalistyczne i wysokowydajne podejście czyni ją idealną do generowania dokumentów z szablonów, danych użytkownika lub zawartości bazy danych w czasie rzeczywistym w aplikacjach PHP.
Zaprojektowany pod kątem prostoty i wydajności, MDword jest wszechstronną biblioteką PHP do przetwarzania dokumentów Word, umożliwiającą budowanie zautomatyzowanych przepływów pracy z dokumentami. Programiści mogą łatwo dodawać tabele do DOCX przy użyciu PHP, manipulować akapitami i konwertować dokumenty Word w PHP bez zewnętrznych narzędzi, takich jak LibreOffice czy COM. Niezależnie od tego, czy generujesz faktury, umowy czy raporty, MDword zapewnia solidną obsługę DOCX w natywnym PHP. Dzięki gotowej kompatybilności w większości środowisk i braku opłat licencyjnych, jest doskonałym wyborem do zarządzania dokumentami Word w dynamicznych aplikacjach internetowych przy zachowaniu lekkiego i ekonomicznego rozwoju.
Rozpoczęcie pracy z MDword
Zalecanym sposobem zainstalowania MDword w projekcie jest użycie Composer. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.
Zainstaluj MDword przez Composer
composer require mkdreams/mdword Zainstaluj MDword przez GitHub
git clone https://github.com/mkdreams/MDword.git
Generowanie dokumentów Word opartych na szablonach przy użyciu PHP
W swojej istocie MDword pozwala programistom tworzyć nowe dokumenty Word od podstaw. Programiści mogą zainicjować nowy obiekt dokumentu, a następnie zaczynać dodawać do niego zawartość. Można ustawić podstawowe właściwości dokumentu, jeśli biblioteka je obsługuje (choć manipulacja zaawansowanymi właściwościami może się różnić). MDword umożliwia użytkownikom tworzenie szablonów Word ze znacznikami, które mogą być dynamicznie zamieniane na rzeczywiste dane. Obsługuje tekst, tabele, obrazy, wykresy i inne elementy Word. Poniższy przykład demonstruje, jak programiści mogą generować podstawowy dokument Word w aplikacjach PHP.
Jak stworzyć dokument Word (.docx) oparty na szablonie przy użyciu biblioteki 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');
Dodawanie tekstu do Word i formatowanie przy użyciu PHP
Dodawanie i formatowanie tekstu w dokumentach Word jest podstawowym wymogiem, a MDword oferuje możliwości wstawiania tekstu i stosowania różnych opcji formatowania w aplikacjach PHP. Programiści mogą dodawać akapity, fragmenty tekstu i stosować style takie jak pogrubienie, kursywa, podkreślenie, rozmiar czcionki, rodzina czcionki oraz kolor. Pozwala to na bogatą treść tekstową w generowanych dokumentach. Poniższy kod PHP pokazuje, jak programiści mogą wstawiać tekst do dokumentów Word i stosować do niego formatowanie za pomocą biblioteki PHP.
Jak wstawić tekst do dokumentu Word i zastosować formatowanie przy użyciu biblioteki 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.";
Dodawanie i zarządzanie tabelami w plikach Word przy użyciu PHP
Tabele są kluczowe przy prezentacji danych strukturalnych. Otwartoźródłowa biblioteka MDword często udostępnia mechanizmy tworzenia tabel, dodawania wierszy, komórek i wypełniania ich treścią. Programiści mogą definiować struktury tabel, ustawiać zawartość komórek (tekst, ewentualnie inne elementy) i czasami stosować podstawowe stylizacje krawędzi lub cieniowanie komórek przy użyciu zaledwie kilku linii kodu. Oto prosty przykład, który demonstruje, jak tworzyć i zarządzać tabelami w dokumentach .docx przy użyciu biblioteki PHP.
Jak tworzyć i zarządzać tabelami w dokumentach Word DOCX przy użyciu biblioteki 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.";