Hyperlink module for docxtemplater
You will need docxtemplater v2.1.1: npm install docxtemplater
Install this module: npm install docxtemplater-link-module
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);
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);
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);
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);
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);
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