ফ্রি PHP লাইব্রেরি টেমপ্লেট-ভিত্তিক DOCX ফাইল তৈরি ও পরিচালনা করতে
প্রধান ওপেন সোর্স PHP লাইব্রেরি টেমপ্লেট থেকে Microsoft Word (DOCX) ডকুমেন্ট তৈরি, পড়া, পরিবর্তন এবং ম্যানিপুলেট করতে পারে। টেবিল যোগ করুন, টেক্সট ও ছবি সন্নিবেশ করুন এবং ফ্রি PHP API মাধ্যমে ফরম্যাটিং প্রয়োগ করুন
MDword কি?
Golang ডেভেলপমেন্টের জগতে, Microsoft Word ডকুমেন্ট (.docx) হ্যান্ডল করা ঐতিহাসিকভাবে একটি চ্যালেঞ্জ ছিল। বেশিরভাগ বিদ্যমান লাইব্রেরি হয় "শুধু-লেখা" ফাংশনালিটিতে সীমাবদ্ধ, অথবা দামী বাণিজ্যিক মূল্যের সঙ্গে আসে। fumiama দ্বারা রক্ষণাবেক্ষিত Go-Docx এই ফাঁক পূরণ করে, যা ECMA-376 Office Open XML ফাইল উভয়ই পড়া ও লেখার জন্য ডিজাইন করা অন্যতম কার্যকর, ওপেন-সোর্স লাইব্রেরি। এটি উপকারী কারণ এটি একটি উচ্চ-স্তরের API প্রদান করে যা Word ফাইলের পেছনের জটিল XML কাঠামোকে বিমূর্ত করে।
Go-Docx কে আলাদা করে তোলার কারণ হল এর বিস্তৃত ফিচার সেট: টেক্সট ফরম্যাটিং (রঙ, আকার, অ্যালাইনমেন্ট), ছবি সন্নিবেশ, টেবিল ম্যানিপুলেশন, শেপ, ক্যানভাস এবং গ্রুপ। আপনি ইনভয়েস জেনারেট করছেন, রেজুমে পার্স করছেন, অথবা রিপোর্ট জেনারেশন অটোমেট করছেন, এই লাইব্রেরি জটিল Office Open XML (ECMA-376) কাঠামোকে বাহ্যিক অ্যাপ্লিকেশন কলের অতিরিক্ত খরচ ছাড়াই হ্যান্ডল করে। এটি একটি কমিউনিটি-চালিত ফর্ক যা পূর্বসূরীদের থেকে উল্লেখযোগ্যভাবে উন্নত হয়েছে। UniOffice এর মতো বাণিজ্যিক বিকল্পের (যা পূর্ণ ফিচারের জন্য পেমেন্ট চায়) বিপরীতে, Go-Docx AGPL-3.0 লাইসেন্সের অধীনে সম্পূর্ণভাবে ফ্রি।
MDword দিয়ে শুরু করা
আপনার প্রোজেক্টে Go-Docx যুক্ত করার সুপারিশকৃত পদ্ধতি হল GitHub ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
Composer দিয়ে MDword ইনস্টল করুন
composer require mkdreams/mdword GitHub দিয়ে MDword ইনস্টল করুন
git clone https://github.com/mkdreams/MDword.git
PHP মাধ্যমে টেমপ্লেট-ভিত্তিক Word ডকুমেন্ট জেনারেশন
Go-Docx আপনাকে কাঠামোগত পদ্ধতি ব্যবহার করে শূন্য থেকে জটিল ডকুমেন্ট তৈরি করতে সক্ষম করে। এটি ডকুমেন্ট পরিবেশের ইনিশিয়ালাইজেশন হ্যান্ডল করে, ডিফল্ট থিম ও স্টাইলসহ, নিশ্চিত করে যে আপনার তৈরি ফাইলগুলি Microsoft Word এবং অন্যান্য আধুনিক প্রসেসরের সাথে সম্পূর্ণ সামঞ্জস্যপূর্ণ। এখানে একটি সহজ উদাহরণ রয়েছে যা দেখায় কীভাবে Go অ্যাপের মধ্যে একটি Word Docx ফাইল জেনারেট করা যায়।
PHP লাইব্রেরি দিয়ে টেমপ্লেট-ভিত্তিক Word (.docx) ডকুমেন্ট কীভাবে তৈরি করবেন?
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 মাধ্যমে Word টেক্সট যোগ ও ফরম্যাটিং
অনেক প্রতিযোগীর বিপরীতে, ওপেন-সোর্স Go-Docx লাইব্রেরি বিদ্যমান ফাইলগুলো পড়ার ক্ষেত্রে উৎকর্ষতা প্রদর্শন করে। এটি একটি .docx ফাইল পার্স করতে পারে এবং তার বডি আইটেমগুলো (যেমন প্যারাগ্রাফ এবং টেবিল) এর মাধ্যমে ইটারেট করতে পারে। এটি ডেটা এক্সট্র্যাকশন বা ডকুমেন্ট অডিটিং কাজের জন্য আদর্শ, যেখানে আপনাকে প্রোগ্রাম্যাটিকভাবে কন্টেন্ট বিশ্লেষণ করতে হয়। নিচের উদাহরণটি দেখায় কীভাবে সফটওয়্যার ডেভেলপাররা তাদের নিজস্ব Go অ্যাপ্লিকেশনের মধ্যে ওয়ার্ড ডকুমেন্ট পার্স করতে পারে।
PHP লাইব্রেরি দিয়ে Word ডকুমেন্টে টেক্সট কীভাবে সন্নিবেশ করবেন এবং ফরম্যাটিং প্রয়োগ করবেন?
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 মাধ্যমে Word ফাইলে টেবিল যোগ ও পরিচালনা
টাইপোগ্রাফির উপর সূক্ষ্ম নিয়ন্ত্রণ এই ওপেন-সোর্স Go লাইব্রেরির মূল শক্তি। আপনি টেক্সটের রঙ, ফন্ট সাইজ, অ্যালাইনমেন্ট পরিবর্তন করতে পারেন এবং এমনকি Go-Docx এর মাধ্যমে হাইপারলিঙ্ক বা ট্যাব স্টপ যোগ করতে পারেন। এটি ডেভেলপারদেরকে ম্যানুয়াল হস্তক্ষেপ ছাড়া নির্দিষ্ট ডিজাইন চাহিদার সাথে মিলে এমন পেশাদার, ব্র্যান্ডেড ডকুমেন্ট তৈরি করতে সক্ষম করে।
PHP লাইব্রেরি দিয়ে Word DOCX ডকুমেন্টের মধ্যে টেবিল কীভাবে তৈরি ও পরিচালনা করবেন?
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.";