Şablona əsaslanan DOCX fayllarını yaratmaq və idarə etmək üçün pulsuz PHP kitabxanası
Öncül açıq mənbəli PHP kitabxanası şablonlardan Microsoft Word (DOCX) sənədlərini yaratmağa, oxumağa, dəyişdirməyə və idarə etməyə imkan verir. Cədvəllər əlavə edin, mətn və şəkillər daxil edin və pulsuz PHP API vasitəsilə formatlaşdırma tətbiq edin
MDword nədir?
Golang inkişaf dünyasında Microsoft Word sənədləri (.docx) ilə işləmək tarixən çətinlik yaratdı. Mövcud kitabxanalardan bir çoxu yalnız "yazma" funksionallığına məhduddur və ya yüksək kommersiya qiymətləri ilə gəlir. fumiama tərəfindən dəstəklənən Go-Docx bu boşluğu ECMA-376 Office Open XML fayllarını həm oxumağa, həm də yazmağa imkan verən ən funksional açıq mənbəli kitabxanalardan biri kimi doldurur. Bu, Word fayllarının arxa planındakı mürəkkəb XML strukturlarını abstrakt edən yüksək səviyyəli API təqdim etdiyi üçün faydalıdır.
Go-Docx-i seçilən edən, onun geniş xüsusiyyət dəstidir: mətn formatlaşdırması (rəng, ölçü, hizalama), şəkil əlavə edilməsi, cədvəl manipulyasiyası, formalər, kanvaslar və qruplar. İstər fakturalar yaradırsınız, istər tərcümeyi-hallar təhlil edirsiniz, istərsə də hesabatların avtomatlaşdırmasını həyata keçirirsiniz, bu kitabxana xarici proqramlar çağırmadan mürəkkəb Office Open XML (ECMA-376) strukturlarını idarə edir. Bu, icma tərəfindən idarə olunan bir forkdur və əvvəlkilərindən əhəmiyyətli dərəcədə inkişaf edib. UniOffice kimi kommersiya alternativlərindən fərqli olaraq (tam funksiyalar üçün ödəniş tələb edir), Go-Docx AGPL-3.0 lisenziyası altında tamamilə pulsuz qalır.
MDword ilə Başlayırıq
Go-Docx-i layihənizə əlavə etməyin tövsiyə olunan yolu GitHub vasitəsilədir. Problemsiz quraşdırma üçün aşağıdakı əmri istifadə edin.
Composer ilə MDword quraşdırın
composer require mkdreams/mdword GitHub vasitəsilə MDword quraşdırın
git clone https://github.com/mkdreams/MDword.git
PHP vasitəsilə şablona əsaslanan Word sənədi yaradılması
Go-Docx strukturlaşdırılmış yanaşma ilə sıfırdan mürəkkəb sənədlər yaratmağa imkan verir. O, sənəd mühitinin ilkinləşdirilməsini, standart mövzular və üslublar daxil olmaqla, idarə edir və yaradılan fayllarınızın Microsoft Word və digər müasir prosessorlarla tam uyğunluğunu təmin edir. Aşağıda Go tətbiqlərində Word Docx faylı necə yaradılacağını göstərən sadə bir nümunə var.
PHP kitabxanası vasitəsilə şablona əsaslanan Word (.docx) sənədi necə yaratmaq olar?
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');
PHP vasitəsilə Word mətn əlavə edilməsi və formatlaşdırma
Böyük rəqiblərdən fərqli olaraq, açıq mənbəli Go-Docx kitabxanası mövcud faylların oxunmasında üstünlük göstərir. O, .docx faylını təhlil edə və bədən elementləri (paraqlraflar, cədvəllər) üzərində iterasiya edə bilir. Bu, məzmunu proqramlaşdırma yolu ilə təhlil etməli olduğunuz məlumat çıxarışı və ya sənəd audit tapşırıqları üçün ideal seçimdir. Aşağıdakı nümunə proqramçılara öz Go tətbiqlərində Word sənədlərini necə təhlil edə biləcəyini göstərir.
PHP kitabxanası vasitəsilə Word sənədinə mətn necə daxil etmək və formatlaşdırma tətbiq etmək olar?
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.";
PHP vasitəsilə Word fayllarında cədvəllər əlavə etmək və idarə etmək
Tipografiyaya incə nəzarət bu açıq mənbəli Go kitabxanasının əsas gücüdür. Siz mətn rəngini, şrift ölçüsünü, hizalanmanı dəyişə və hətta Go-Docx vasitəsilə hiperlöğələr və tab dayanacaqları əlavə edə bilərsiniz. Bu, tərtibatçılara əl müdaxiləsi olmadan spesifik dizayn tələblərinə uyğun peşəkar, brendlənmiş sənədlər yaratmağa imkan verir.
PHP kitabxanası vasitəsilə Word DOCX sənədlərində cədvəllər necə yaratmaq və idarə etmək olar?
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.";