docxtemplater
Word DOCX را از قالبها از طریق جاوا اسکریپت ایجاد کنید
کتابخانه جاوا اسکریپت برای ایجاد، تغییر و تبدیل فایلهای Microsoft® Word DOCX.
docxtemplater چیست؟
docxtemplater یک کتابخانه جاوا اسکریپت منبع باز است که به ایجاد و ویرایش فایل های Word DOCX از یک الگو کمک می کند. کتابخانه Word JavaScript به کاربران امکان می دهد اسناد تولید شده را با استفاده از خود Word شخصی سازی کنند. کار با کتابخانه آسان است و برای ویرایش قالب Word به هیچ مهارت فنی نیاز ندارد. این کتابخانه همچنین چندین ماژول را برای عملکردهای خاص ارائه کرده است.
کتابخانه docxtemplater از چندین ویژگی مربوط به ایجاد و مدیریت فایل DOCX مانند افزودن تصاویر، درج متن فرمت شده در سند Word، درج سرصفحه/پانویس، جایگزینی تصویر با هر ویژگی موجود، ایجاد جداول، افزودن متن واترمارک، به روز رسانی حاشیه صفحه، درج پشتیبانی می کند. پاورقی یک سند و موارد دیگر.
چگونه docxtemplater را نصب کنیم؟
توصیه شده و ساده ترین راه برای نصب docxtemplater از طریق npm است. لطفا از دستور زیر برای نصب راحت استفاده کنید.
docxtemplater را از طریق npm نصب کنید
npm install docxtemplater pizzip
Word DOCX را از طریق جاوا اسکریپت ایجاد کنید
کتابخانه docxtemplater به ایجاد اسناد DOCX در برنامه Node.js و همچنین در مرورگر به راحتی کمک می کند. همچنین اجازه می دهد تا اسناد DOCX موجود را برای درج جداول، تصاویر، متن، پاراگراف ها و موارد دیگر تغییر دهید.
Word DOCX را از طریق جاوا اسکریپت بهروزرسانی کنید
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 توسعه دهندگان نرم افزار را قادر می سازد تا جدولی را تنها با چند خط کد جاوا اسکریپت ایجاد کنند. این کتابخانه شامل چندین روش برای ایجاد و مدیریت جداول در یک سند مانند ایجاد جداول از ابتدا، ایجاد جدول حلقه عمودی یا با کپی کردن سلولها، ادغام سلولهای جدول، درج سطرها و ستونها، تعریف عرض برای سطرها و ستونها است. و غیره
پاورقی را به اسناد Word اضافه کنید
کتابخانه رایگان docxtemplater شامل پشتیبانی از افزودن پاورقی به یک سند DOCX Word است. این کتابخانه کنترل کاملی برای سفارشی سازی پاورقی ها می دهد. شما می توانید اعداد را به صورت بالانویس اضافه کنید و سبک های مختلف را به راحتی در محتوای پاورقی اعمال کنید.
پاورقی را از طریق جاوا اسکریپت به اسناد اضافه کنید
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 بازیابی کنید. یکی از ویژگی های عالی کتابخانه این است که می توانید از تصاویر بزرگتر از ظرف آنها جلوگیری کنید.
چرخاندن و چرخاندن تصاویر از طریق جاوا اسکریپت
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)],
});