Bezmaksas PHP bibliotēka, lai izveidotu un pārvaldītu veidnebalstītus DOCX failus

Vadošā atvērtā koda PHP bibliotēka ļauj izveidot, nolasīt, modificēt un manipulēt Microsoft Word (DOCX) apstrādes dokumentus no veidtemplates. Pievienojiet tabulas, ievietojiet tekstu, attēlus un piemērojiet formatēšanu, izmantojot bezmaksas PHP API

Kas ir MDword?

Golang izstrādes pasaulē Microsoft Word dokumentu (.docx) apstrāde tradicionāli ir bijusi izaicinājums. Daudzas esošās bibliotēkas ir ierobežotas tikai ar “rakstīšanas” funkcionalitāti vai nāk ar augstu komerciālu cenu. Go-Docx (uzrauga fumiama) aizpilda šo plaisu kā viena no funkcionālākajām atvērtā koda bibliotēkām, kas paredzēta gan lasīt, gan rakstīt ECMA-376 Office Open XML failus. Tā ir noderīga, jo nodrošina augsta līmeņa API, kas abstraktē Word failu sarežģītās XML struktūras.

Kas izceļ Go-Docx ir tā visaptverošais funkciju komplekts: teksta formatēšana (krāsa, izmērs, izlīdzināšana), attēlu ievietošana, tabulu manipulācija, formas, audekli un grupas. Neatkarīgi no tā, vai ģenerējat rēķinus, parsējat CV vai automatizējat pārskatu izveidi, šī bibliotēka apstrādā sarežģītas Office Open XML (ECMA-376) struktūras, neizsaucot ārējas lietotnes. Tā ir kopienas vadīta atzars, kas būtiski ir attīstījusies no saviem priekšgājējiem. Atšķirīgi no komerciālām alternatīvām, piemēram, UniOffice (kas pieprasa maksājumu par pilnām funkcijām), Go-Docx ir pilnīgi bezmaksas saskaņā ar AGPL-3.0 licenci.

Previous Next

Sākums ar MDword

Ieteicamais veids, kā pievienot Go-Docx jūsu projektam, ir izmantot GitHub. Lūdzu, izmantojiet šo komandu, lai veiktu gludu instalāciju.

Instalējiet MDword, izmantojot Composer

composer require mkdreams/mdword  

Kā ģenerēt Word Docx failus, izmantojot Go bibliotēku?

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

Veidnebalstīta Word dokumentu ģenerēšana, izmantojot PHP

Go-Docx ļauj izveidot sarežģītus dokumentus no nulles, izmantojot strukturētu pieeju. Tas pārvalda dokumenta vides inicializāciju, ieskaitot noklusējuma tēmas un stilus, nodrošinot, ka jūsu ģenerētie faili ir pilnīgi saderīgi ar Microsoft Word un citiem modernajiem apstrādātājiem. Šeit ir vienkāršs piemērs, kas demonstrē, kā ģenerēt Word Docx failu Go lietojumprogrammās.

Kā parsēt Word Docx dokumentus, izmantojot Go bibliotēku?

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 teksta pievienošana un formatēšana, izmantojot PHP

Atšķirībā no daudziem konkurentiem, atvērtā koda Go-Docx bibliotēka izceļas ar spēju lasīt esošus failus. Tā var parsēt .docx failu un iterēt caur tā ķermeņa elementiem, piemēram, rindkopām un tabulām. Tas padara to par ideālu izvēli datu izguvei vai dokumentu audita uzdevumiem, kur nepieciešama programatiska satura analīze. Šis piemērs parāda, kā programmatūras izstrādātāji var parsēt Word dokumentus savās Go lietojumprogrammās.

Kā izveidot vienkāršu tabulu Word failā, izmantojot Go bibliotēku?

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

Pievienojiet un pārvaldiet tabulas Word failos, izmantojot PHP

Smalkas tipogrāfijas kontrole ir šīs atvērtā koda Go bibliotēkas galvenais spēks. Jūs varat mainīt teksta krāsu, fonta lielumu, izlīdzinājumu, kā arī pievienot hipersaites vai tabulatora pieturas, izmantojot Go-Docx. Tas ļauj izstrādātājiem ģenerēt profesionālus, zīmola dokumentus, kas atbilst konkrētām dizaina prasībām, neiesaistoties manuāli.

Kā piemērot teksta stilizāciju un formatēšanu Word dokumentiem, izmantojot Go bibliotēku?

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

 Latviski