README
DocxTemplater
A customized version of docxtemplater with HyperLink Replacer.
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.
Documentation
The full documentation can be found on read the docs.
Demo
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
Quickstart
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();
// ===== HyperLink Replacer Example ========//
var DocXTemplater= require('docxtemplater');
docxtemplater=new DocXTemplater().loadFromFile("linkExample1.docx", {
"intelligentTagging":true,
"replaceLinks": {
"Nulla":"http://nulla.com",
"Nunc":"http://nunc.com"
}
});
docxtemplater.setTags({
"links":[
{"link":"Nulla"},
{"link":"Nunc"}
]
});
//when finished
docxtemplater.finishedCallback=function () {
docxtemplater.output();
}
//apply the tags
docxtemplater.applyTags();
You can download tagExample.docx,linkExample1.docx and put it in the same folder than your script.
upgrade.md
Have 0.6.3 or less and using the qrcode module ? You probably have a security issue. SeeKnown issues
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
- stop overflooding the global scope:
- DocUtils
- XmlTemplater
- jsQrCode
- jsZip
- DocXTemplater
- ScopeManager
- XmlMatcher
- output with FileSaver.js to name your file
- Remove the node/browser specific code when possible
- When not possible, create a NodeSpecific File or BrowserSpecific File