Nemokama PHP biblioteka šablonų pagrindu DOCX failų kūrimui ir valdymui

Vyriausia atviro kodo PHP biblioteka, leidžianti kurti, skaityti, modifikuoti ir tvarkyti Microsoft Word (DOCX) dokumentus iš šablonų. Pridėkite lenteles, įterpkite tekstą, paveikslėlius ir taikykite formatavimą per nemokamą PHP API

Kas yra Go-Docx biblioteka?

Golang kūrimo pasaulyje Microsoft Word dokumentų (.docx) tvarkymas tradiciškai buvo iššūkis. Daugelis esamų bibliotekų yra ribotos iki „tik rašymo“ funkcionalumo arba turi didelę komercinę kainą. Go-Docx (prižiūri fumiama) užpildo šią spragą kaip viena funkcionalių atviro kodo bibliotekų, skirta tiek skaityti, tiek rašyti ECMA-376 Office Open XML failus. Ji yra naudinga, nes suteikia aukšto lygio API, kuri abstrahuoja sudėtingas XML struktūras, slypinčias Word failuose.

Kas išskiria Go-Docx yra jo išsamus funkcijų rinkinys: teksto formatavimas (spalva, dydis, lygiavimas), paveikslėlių įterpimas, lentelių manipuliavimas, figūros, drobės ir grupės. Nesvarbu, ar kuriate sąskaitas, analizuojate gyvenimo aprašymus, ar automatizuojate ataskaitų generavimą, ši biblioteka tvarko sudėtingas Office Open XML (ECMA-376) struktūras neįkeliant papildomų išorinių programų. Tai bendruomenės sukurta šaka, kuri žymiai išsivystė nuo savo pirmtakų. Skirtingai nuo komercinių alternatyvų, tokių kaip UniOffice (kur reikalingas mokėjimas už visas funkcijas), Go-Docx yra visiškai nemokama pagal AGPL-3.0 licenciją.

Previous Next

Pradžia su Go-Docx

Rekomenduojamas būdas įtraukti Go-Docx į projektą – naudoti GitHub. Prašome naudoti šią komandą sklandžiam įdiegimui.

Įdiekite MDword, naudodami Composer

composer require mkdreams/mdword  

Įdiekite MDword, naudodami GitHub

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

Išplėstinė Word dokumentų generavimas iš šablonų naudojant PHP

Go-Docx leidžia nuo pradžių kurti sudėtingus dokumentus naudojant struktūruotą metodą. Jis tvarko dokumento aplinkos inicializavimą, įskaitant numatytas temas ir stilius, užtikrindamas, kad jūsų sukurtų failų gerai veiktų su Microsoft Word ir kitais šiuolaikiniais procesoriais. Štai paprastas pavyzdys, kaip generuoti Word Docx failą Go programose.

Kaip sukurti šablonų pagrindu Word (.docx) dokumentą naudojant PHP biblioteką?

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

Word teksto pridedimas ir formatavimas naudojant PHP

Skirtingai nuo daugelio konkurentų, atviro kodo Go-Docx biblioteka pasižymi puikiu esamų failų skaitymu. Ji gali analizuoti .docx failą ir peržvelgti jo turinio elementus, pvz., pastraipas ir lenteles. Tai daro ją idealia pasirinkimu duomenų ištraukimui ar dokumentų auditui, kai reikia programiškai analizuoti turinį. Žemiau pateiktas pavyzdys rodo, kaip programinės įrangos kūrėjai gali analizuoti Word dokumentus savo Go programose.

Kaip įterpti tekstą į Word dokumentą ir pritaikyti formatavimą naudojant PHP biblioteką?

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

Pridėti ir tvarkyti lenteles Word failuose naudojant PHP

Detali tipografijos kontrolė yra pagrindinis šios atviro kodo Go bibliotekos stiprumas. Galite keisti teksto spalvą, šrifto dydį, lygiavimą ir net pridėti hipersaitus ar tabuliavimo sustojimus per Go-Docx. Tai leidžia kūrėjams generuoti profesionalius, prekės ženklo atspindinčius dokumentus, atitinkančius specifinius dizaino reikalavimus, be rankinio įsikišimo.

Kaip sukurti ir tvarkyti lenteles Word DOCX dokumentuose naudojant PHP biblioteką?

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

 Lietuvių