Package Exports
- docxtemplater-link-module
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (docxtemplater-link-module) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
docxtemplater-link-module
Hyperlink module for docxtemplater
Installation:
You will need docxtemplater v2.1.1: npm install docxtemplater
Install this module: npm install docxtemplater-link-module
Usage: Text and URL
The example below will displays the following hyperlink:
Lorem ipsum dolor sit amet.
Your docx should contain the text: Lorem ipsum {^link} amet.
.
var fs = require('fs');
var content = fs.readFileSync(__dirname + "/example-href.docx", "binary");
var DocxGen = require('docxtemplater');
var LinkModule = require('docxtemplater-link-module');
var linkModule = new LinkModule();
var docx = new DocxGen()
.attachModule(linkModule)
.load(content)
.setData({
link : {
text : "dolor sit",
url : "http://google.com"
}
}).
render();
var buffer = docx
.getZip()
.generate({type:"nodebuffer"});
fs.writeFile("test.docx", buffer);
Usage: URL only
The example below will displays the following hyperlink:
Lorem ipsum http://google.com amet.
Your docx should contain the text: Lorem ipsum {^link} amet.
.
var fs = require('fs');
var content = fs.readFileSync(__dirname + "/example-href.docx", "binary");
var DocxGen = require('docxtemplater');
var LinkModule = require('docxtemplater-link-module');
var linkModule = new LinkModule();
var docx = new DocxGen()
.attachModule(linkModule)
.load(content)
.setData({
link : "http://google.com"
}).
render();
var buffer = docx
.getZip()
.generate({type:"nodebuffer"});
fs.writeFile("test.docx", buffer);
Usage: Email address support
The example below will displays the following hyperlink:
Lorem ipsum john.smith@example.com amet.
Your docx should contain the text: Lorem ipsum {^link} amet.
.
var fs = require('fs');
var content = fs.readFileSync(__dirname + "/example-mailto.docx", "binary");
var DocxGen = require('docxtemplater');
var LinkModule = require('docxtemplater-link-module');
var linkModule = new LinkModule();
var docx = new DocxGen()
.attachModule(linkModule)
.load(content)
.setData({
link : "john.smith@example.com"
}).
render();
var buffer = docx
.getZip()
.generate({type:"nodebuffer"});
fs.writeFile("test.docx", buffer);
Usage: Text and URL in powerpoint pptx
The example below will displays the following hyperlink powerpoint:
Lorem ipsum dolor sit amet.
Your pptx should contain the text: Lorem ipsum {^link} amet.
.
var fs = require('fs');
var content = fs.readFileSync(__dirname + "/example-href.pptx", "binary");
var DocxGen = require('docxtemplater');
var LinkModule = require('docxtemplater-link-module');
var linkModule = new LinkModule();
var docx = new DocxGen()
.attachModule(linkModule)
.setOptions({ fileType : "pptx" })
.load(content)
.setData({
link : {
text : "dolor sit",
url : "http://google.com"
}
}).
render();
var buffer = docx
.getZip()
.generate({type:"nodebuffer"});
fs.writeFile("output-href.pptx", buffer);
Usage: Email address support in powerpoint
The example below will displays the following hyperlink:
Lorem ipsum john.smith@example.com amet.
Your pptx should contain the text: Lorem ipsum {^link} amet.
.
var fs = require('fs');
var content = fs.readFileSync(__dirname + "/example-mailto.pptx", "binary");
var DocxGen = require('docxtemplater');
var LinkModule = require('docxtemplater-link-module');
var linkModule = new LinkModule();
var docx = new DocxGen()
.attachModule(linkModule)
.setOptions({ fileType : "pptx" })
.load(content)
.setData({
link : "john.smith@example.com"
}).
render();
var buffer = docx
.getZip()
.generate({type:"nodebuffer"});
fs.writeFile("output-mailto.pptx", buffer);
Testing
You can test that everything works fine using the command mocha
. This will also create 2 docx files under the root directory that you can open to check if the docx are correct