مكتبة PHP مجانية لإنشاء وإدارة ملفات DOCX المبنية على القوالب
المكتبة الرائدة المفتوحة المصدر لـ PHP تسمح بإنشاء، قراءة، تعديل ومعالجة مستندات معالجة Microsoft Word (DOCX) من القوالب. إضافة جداول، إدراج نصوص، صور وتطبيق التنسيق عبر API PHP مجانية
ما هو MDword؟
للمطورين الذين يستخدمون PHP ويهدفون إلى إنشاء أو إدارة مستندات Microsoft Word، يبرز MDword كبديل خفيف الوزن وفعّال لواجهة برمجة تطبيقات REST الخاصة بـ PHP DOCX. كواجهة برمجة تطبيقات PHP DOCX مفتوحة المصدر، يتيح MDword للمطورين إنشاء ملفات DOCX مبنية على القوالب، تعديل المحتوى، وبناء ميزات مستند غنية—كل ذلك دون الاعتماد على Microsoft Office أو تبعيات ثقيلة. تدعم مكتبة معالجة النصوص المجانية هذه إدراج وإدارة الجداول، إضافة نص منسق، التعامل مع الصور، ودمج ملفات Word متعددة في ملف واحد. نهجه البسيط وعالي الأداء يجعله مثاليًا لتوليد المستندات من القوالب، بيانات المستخدم، أو محتوى قاعدة البيانات في الوقت الحقيقي داخل تطبيقات PHP.
مصمم للبساطة والأداء، يُعد MDword مكتبة معالجة Word متعددة الاستخدامات لـ PHP لبناء سير عمل مستندات آلية. يمكن للمطورين بسهولة إضافة جداول إلى DOCX عبر PHP، معالجة الفقرات، وتحويل مستندات Word باستخدام PHP دون أدوات خارجية مثل LibreOffice أو COM. سواء كنت تولد فواتير، عقود أو تقارير، يقدم MDword معالجة DOCX قوية في PHP الأصلي. مع توافق جاهز خارج الصندوق في معظم البيئات وبدون رسوم ترخيص، فهو خيار ممتاز لإدارة مستندات Word بـ PHP في تطبيقات ويب ديناميكية مع الحفاظ على خفة التطوير وتكلفته.
البدء مع MDword
الطريقة الموصى بها لتثبيت MDword في مشروعك هي باستخدام Composer. يرجى استخدام الأمر التالي لتثبيت سلس.
تثبيت MDword عبر Composer
composer require mkdreams/mdword تثبيت MDword عبر GitHub
git clone https://github.com/mkdreams/MDword.git
إنشاء مستندات Word مبنية على القوالب عبر PHP
في جوهره، يتيح MDword للمطورين إنشاء مستندات Word جديدة من الصفر. يمكن للمطورين تهيئة كائن مستند جديد ثم البدء في إضافة المحتوى إليه. يمكنك ضبط خصائص المستند الأساسية إذا كانت المكتبة تدعمها (على الرغم من أن التعامل المتقدم مع الخصائص قد يختلف). يسمح MDword للمستخدمين بإنشاء قوالب Word تحتوي على عناصر نائبة يمكن استبدالها ديناميكيًا ببيانات فعلية. يدعم النصوص، الجداول، الصور، المخططات، وعناصر Word الأخرى. يوضح المثال التالي كيفية توليد مستند Word أساسي داخل تطبيقات PHP.
كيفية إنشاء مستند Word (.docx) مبني على قالب عبر مكتبة 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');
إضافة نصوص Word وتنسيقها عبر PHP
إضافة النص وتنسيقه في مستندات Word هو متطلب أساسي، ويوفر MDword إمكانات لإدراج النص وتطبيق خيارات تنسيق مختلفة داخل تطبيقات PHP. يمكن للمطورين إضافة فقرات، تشغيل نصوص، وتطبيق أنماط مثل الغامق، المائل، الخط السفلي، حجم الخط، عائلة الخط، واللون. يتيح ذلك محتوى نصي غني داخل المستندات التي تولدها. يظهر الكود PHP التالي كيفية إدراج نص إلى مستندات Word وتطبيق التنسيق عليه عبر مكتبة PHP.
كيفية إدراج نص إلى مستند Word وتطبيق التنسيق عبر مكتبة 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.";
إضافة وإدارة جداول في ملفات Word عبر PHP
الجداول ضرورية لعرض البيانات المهيكلة. غالبًا ما توفر مكتبة MDword المفتوحة المصدر آليات لإنشاء جداول، إضافة صفوف وخلايا، وتعبئتها بالمحتوى. يمكن للمطورين تعريف هياكل الجداول، ضبط محتوى الخلايا (نص، وربما عناصر أخرى)، وأحيانًا تطبيق تنسيق بسيط للحدود أو تظليل الخلايا ببضع أسطر من الشيفرة فقط. إليك مثالًا بسيطًا يوضح كيفية إنشاء وإدارة الجداول داخل مستندات Word .docx عبر مكتبة PHP.
كيفية إنشاء وإدارة جداول داخل مستندات Word DOCX عبر مكتبة 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.";