docxtemplater

 
 

สร้าง Word DOCX จากเทมเพลต ผ่าน JavaScript

ไลบรารี JavaScript เพื่อสร้าง แก้ไข และแปลงไฟล์ Microsoft® Word DOCX 

docxtemplate คืออะไร?

docxtemplater เป็นไลบรารี JavaScript โอเพ่นซอร์สที่ช่วยในการสร้างและแก้ไขไฟล์ Word DOCX จากเทมเพลต ไลบรารี Word JavaScript ช่วยให้ผู้ใช้สามารถปรับแต่งเอกสารที่สร้างขึ้นโดยใช้ Word เอง ไลบรารีนี้จัดการได้ง่ายและไม่ต้องใช้ทักษะทางเทคนิคใดๆ ในการแก้ไขเทมเพลต Word ห้องสมุดยังมีโมดูลหลายโมดูลสำหรับการทำงานเฉพาะ

ไลบรารี docxtemplater รองรับคุณสมบัติหลายอย่างที่เกี่ยวข้องกับการสร้างและจัดการไฟล์ DOCX เช่น การเพิ่มรูปภาพ การแทรกข้อความที่จัดรูปแบบในเอกสาร Word การแทรกส่วนหัว/ส่วนท้าย การแทนที่รูปภาพด้วยคุณสมบัติที่มีอยู่ การสร้างตาราง เพิ่มข้อความลายน้ำ อัปเดตระยะขอบของหน้า แทรก เชิงอรรถในเอกสารและอื่น ๆ อีกมากมาย

Previous Next

วิธีการติดตั้ง 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)],
});
 ไทย