![](https://products-qa.fileformat.com/th/word-processing/javascript/docxtemplater/header-image.png)
docxtemplater
สร้าง Word DOCX จากเทมเพลต ผ่าน JavaScript
ไลบรารี JavaScript เพื่อสร้าง แก้ไข และแปลงไฟล์ Microsoft® Word DOCX
docxtemplate คืออะไร?
docxtemplater เป็นไลบรารี JavaScript โอเพ่นซอร์สที่ช่วยในการสร้างและแก้ไขไฟล์ Word DOCX จากเทมเพลต ไลบรารี Word JavaScript ช่วยให้ผู้ใช้สามารถปรับแต่งเอกสารที่สร้างขึ้นโดยใช้ Word เอง ไลบรารีนี้จัดการได้ง่ายและไม่ต้องใช้ทักษะทางเทคนิคใดๆ ในการแก้ไขเทมเพลต Word ห้องสมุดยังมีโมดูลหลายโมดูลสำหรับการทำงานเฉพาะ
ไลบรารี docxtemplater รองรับคุณสมบัติหลายอย่างที่เกี่ยวข้องกับการสร้างและจัดการไฟล์ DOCX เช่น การเพิ่มรูปภาพ การแทรกข้อความที่จัดรูปแบบในเอกสาร Word การแทรกส่วนหัว/ส่วนท้าย การแทนที่รูปภาพด้วยคุณสมบัติที่มีอยู่ การสร้างตาราง เพิ่มข้อความลายน้ำ อัปเดตระยะขอบของหน้า แทรก เชิงอรรถในเอกสารและอื่น ๆ อีกมากมาย
วิธีการติดตั้ง docxtemplate?
วิธีที่แนะนำและง่ายที่สุดในการติดตั้ง docxtemplater คือผ่าน npm โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง docxtemplate ผ่าน npm
npm install docxtemplater pizzip
สร้าง Word DOCX ผ่าน JavaScript
ไลบรารี docxtemplater ช่วยในการสร้างเอกสาร DOCX ในแอพ Node.js เช่นเดียวกับในเบราว์เซอร์ได้อย่างง่ายดาย นอกจากนี้ยังอนุญาตให้แก้ไขเอกสาร DOCX ที่มีอยู่เพื่อแทรกตาราง รูปภาพ ข้อความ ย่อหน้า และอื่นๆ
อัปเดตคํา 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 ฟรีรองรับการเพิ่มเชิงอรรถในเอกสาร DOCX Word ไลบรารีให้การควบคุมเต็มรูปแบบสำหรับการปรับแต่งเชิงอรรถ คุณสามารถเพิ่มตัวเลขในตัวยกและใช้รูปแบบต่างๆ กับเนื้อหาของเชิงอรรถได้อย่างง่ายดาย
เพิ่ม Footnote ไปยังเอกสารผ่าน 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 แบบโอเพ่นซอร์สช่วยให้โปรแกรมเมอร์ซอฟต์แวร์สามารถแทรกรูปภาพในเอกสารคำได้ ไลบรารีอนุญาตให้ตั้งค่าความกว้างและความสูงของรูปภาพ จัดแนวรูปภาพ เพิ่มคำบรรยายสำหรับรูปภาพ ใช้นิพจน์เชิงมุมเพื่อกำหนดขนาดรูปภาพ และอื่นๆ คุณยังสามารถดึงข้อมูลรูปภาพจากแหล่งข้อมูลใดก็ได้ เช่น ข้อมูล 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)],
});