![](https://products-qa.fileformat.com/ar/word-processing/javascript/docxtemplater/header-image.png)
docxtemplater
قم بإنشاء Word DOCX من القوالب عبر JavaScript
مكتبة JavaScript لإنشاء ملفات Microsoft ® Word DOCX وتعديلها وتحويلها.
ما هو docxtemplater؟
docxtemplater هي مكتبة JavaScript مفتوحة المصدر تساعد في إنشاء ملفات Word DOCX وتحريرها من قالب. تتيح مكتبة Word JavaScript للمستخدمين تخصيص المستندات التي تم إنشاؤها باستخدام Word نفسه. المكتبة سهلة التعامل ولا تتطلب أي مهارات فنية لتحرير قالب Word. قدمت المكتبة أيضًا العديد من الوحدات النمطية لوظائف محددة.
تدعم مكتبة docxtemplater العديد من الميزات المتعلقة بإنشاء ملف DOCX ومعالجته مثل إضافة الصور وإدراج نص منسق في مستند Word وإدراج الرؤوس / التذييلات واستبدال الصورة بأي خصائص موجودة وإنشاء الجداول وإضافة نص العلامة المائية وتحديث هوامش الصفحة والإدراج الحواشي السفلية لوثيقة وأكثر من ذلك بكثير.
كيفية تثبيت docxtemplater؟
التوصية والأسهل طريقة لتثبيت docxtemplater هي عبر npm. الرجاء استخدام الأمر التالي للتثبيت السلس.
قم بتثبيت docxtemplater عبر npm
npm install docxtemplater pizzip
قم بإنشاء Word DOCX عبر JavaScript
تساعد مكتبة docxtemplater في إنشاء مستندات DOCX في تطبيق Node.js وكذلك في المتصفح بسهولة. كما يسمح بتعديل مستندات DOCX الحالية لإدراج الجداول والصور والنصوص والفقرات والمزيد.
تحديث Word DOCX عبر JavaScript
const PizZip = require("pizzip");
const Docxtemplater = require("docxtemplater");
const fs = require("fs");
const path = require("path");
// Load the docx file as binary content
const content = fs.readFileSync(
path.resolve(__dirname, "input.docx"),
"binary"
);
const zip = new PizZip(content);
const doc = new Docxtemplater(zip, {
paragraphLoop: true,
linebreaks: true,
});
// Render the document (Replace {first_name} by John, {last_name} by Doe, ...)
doc.render({
first_name: "John",
last_name: "Doe",
phone: "0652455478",
});
const buf = doc.getZip().generate({
type: "nodebuffer",
compression: "DEFLATE",
});
// buf is a nodejs Buffer, you can either write it to a
// file or res.send it with express for example.
fs.writeFileSync(path.resolve(__dirname, "output.docx"), buf);
إدراج وإدارة الجداول في مستندات Word
تمكن مكتبة docxtemplater مطوري البرامج من إنشاء جدول ببضعة سطرين فقط من كود JavaScript. تضمنت المكتبة عدة طرق لإنشاء الجداول وإدارتها في مستند مثل إنشاء الجداول من البداية ، وإنشاء جدول حلقة عمودية أو عن طريق نسخ الخلايا ، ودمج خلايا الجدول ، وإدراج الصفوف والأعمدة ، وتحديد عرض الصفوف ، والعمود وهلم جرا.
أضف حاشية سفلية إلى مستندات Word
تتضمن مكتبة docxtemplater المجانية دعمًا لإضافة الحواشي السفلية إلى مستند Word DOCX. توفر المكتبة تحكمًا كاملاً في تخصيص الحواشي السفلية. يمكنك إضافة أرقام بخط مرتفع وتطبيق أنماط مختلفة على محتوى الحاشية السفلية بسهولة.
أضف حاشية سفلية إلى المستندات عبر JavaScript
const imageOpts = {
getProps: function (img, tagValue, tagName) {
/*
* If you don't want to change the props
* for a given tagValue, you should write :
*
* return null;
*/
return {
rotation: 90,
// flipVertical: true,
// flipHorizontal: true,
};
},
getImage: function (tagValue, tagName) {
return fs.readFileSync(tagValue);
},
getSize: function (img, tagValue, tagName) {
return [150, 150];
},
};
const doc = new Docxtemplater(zip, {
modules: [new ImageModule(imageOpts)],
});
إضافة وتعديل الصور في DOCX
تمنح مكتبة docxtemplater مفتوحة المصدر مبرمجي البرامج القدرة على إدراج الصور داخل مستند Word. تتيح المكتبة ضبط عرض الصورة وارتفاعها ، ومحاذاة الصور ، وإضافة تعليق للصور ، واستخدام التعبيرات الزاوية لتعيين أحجام الصورة ، وما إلى ذلك. يمكنك أيضًا استرداد بيانات الصورة من أي مصدر بيانات مثل بيانات base64 ونظام الملفات وعنوان URL وصورة Amazon S3 المخزنة. إحدى الميزات الرائعة للمكتبة هي أنه يمكنك تجنب الصور الأكبر من حاوياتها.
قم بتدوير وعكس الصور عبر JavaScript
const imageOpts = {
getProps: function (img, tagValue, tagName) {
/*
* If you don't want to change the props
* for a given tagValue, you should write :
*
* return null;
*/
return {
rotation: 90,
// flipVertical: true,
// flipHorizontal: true,
};
},
getImage: function (tagValue, tagName) {
return fs.readFileSync(tagValue);
},
getSize: function (img, tagValue, tagName) {
return [150, 150];
},
};
const doc = new Docxtemplater(zip, {
modules: [new ImageModule(imageOpts)],
});