Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sujith3g/xcod

Node package for docx generation, customized from docxtemplater.
https://github.com/sujith3g/xcod

Last synced: 6 days ago
JSON representation

Node package for docx generation, customized from docxtemplater.

Awesome Lists containing this project

README

        

# DocxTemplater

[![Download count](http://img.shields.io/npm/dm/xcod.svg)](https://www.npmjs.org/package/xcod)
[![Current tag](http://img.shields.io/npm/v/xcod.svg)](https://www.npmjs.org/package/xcod)

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](http://docxtemplater.readthedocs.org/en/latest/).

## Demo

[All demos can be found here](http://javascript-ninja.fr/docxgenjs/examples/demo.html)

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](https://github.com/edi9999/docxtemplater/raw/master/examples/tagExample.docx),[linkExample1.docx](https://github.com/edi9999/docxtemplater/raw/master/examples/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](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