docxtemplater is a library to generate docx documents from a docx template. It can replace tags by their values and replace images with other images. It is very user oriented as users can without a lot of programming knowledge create their first template and automatically change variables in it.
The full documentation can be found on read the docs.
Including:
- Replace Variables
- Formating
- Angular Parsing
- Loops
- Loops and tables
- Lists
- Replacing images
- Naming the output
- Using QrCodes
- Replacing many images with QrCode
- Raw Xml Insertion
Installation: npm install docxtemplater
var DocXTemplater= require('docxtemplater');
//loading the file
docxtemplater=new DocXTemplater().loadFromFile("tagExample.docx");
//setting the tags
docxtemplater.setTags({"name":"Edgar"});
//when finished
docxtemplater.finishedCallback=function () {
docxtemplater.output();
}
//apply the tags
docxtemplater.applyTags();
You can download tagExample.docx and put it in the same folder than your script.
Have version 0.6.3 or less and using the qrcode module ? You probably have a security issue. See upgrade.md
They are a few similar libraries that work with docx, here’s a list of those I know a bit about:
- docx4j :JAVA, this is probably the biggest docx library out there. They is no built in templating engine, but you can generate your docx yourself programmatically
- docx.js: Javascript in the browser, you can create (not modify) your docx from scratch, but only do very simple things such as adding non formatted text
Todo:
- Incompatibility with IE: Error : SCRIPT5022: End of stream reached (stream length = 14578, asked index = 18431). Corrupted zip ?
- Use FileSaver API for output http://eligrey.com/blog/post/saving-generated-files-on-the-client-side