Files
docx-js/demo/88-template-document.ts

34 lines
830 B
TypeScript
Raw Normal View History

// Patch a document with patches
2023-06-05 00:33:43 +01:00
import * as fs from "fs";
2023-06-05 00:33:43 +01:00
import { IPatch, patchDocument, PatchType, TextRun } from "docx";
export const font = "Trebuchet MS";
export const getPatches = (fields: { [key: string]: string }) => {
const patches: { [key: string]: IPatch } = {};
for (const field in fields) {
patches[field] = {
type: PatchType.PARAGRAPH,
children: [new TextRun({ text: fields[field], font })],
};
}
return patches;
};
const patches = getPatches({
name: "Mr",
table_heading_1: "John",
item_1: "Doe",
paragraph_replace: "Lorem ipsum paragraph",
});
patchDocument({
outputType: "nodebuffer",
data: fs.readFileSync("demo/assets/simple-template.docx"),
patches,
}).then((doc) => {
fs.writeFileSync("My Document.docx", doc);
});