0.9.3 • Published 8 years ago

xcod v0.9.3

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

DocxTemplater

Download count Current tag

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

All demos can be found here

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.

Have 0.6.3 or less and using the qrcode module ? You probably have a security issue. See upgrade.md

Known 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