DEPRECATED
This module has been marked as deprecated.
A more flexible version of this module is available here: pdfmake-browserified
Synopsis
Browserified version of pdfmake 0.1.18, font Roboto included and set as default font.
Zero configuration.
Restrictions
With the goal in mind to simplify its usage, this module is bound to pdfmake@0.1.18. Shortly, I will provide a more generic module, which will not be so simple to use.
Code Example
Console
npm install pdfmake-browserified-0.1.18
Javascript
var content = { content: 'This is a sample PDF printed with pdfMake' };
var createPdf = require('pdfmake-browserified-0.1.18');
createPdf(content).open();
createPdf(content).download();
Motivation
- Removing boilerplate code, that is required when one uses pdfmake with frameworks line AngularJS.
- Providing pdfmake as an npm module, simplyfying its usage.
Usually, pdfmake is used by inlcuding two Javascript files via <script>
tags. Using a framework like AngularJS, the provided script-functions are accessed via the $window
instance. Instead of using the usual require('pdfmake');
Installation
npm install pdfmake-browserified-0.1.18
API Reference
The module exposes this function:
module.exports = function(docDefinition, fonts, vfs) {
return new Document(docDefinition, fonts, vfs);
}
Tests
This command wil build the module bundle and open a browser. The page provides buttons to check open
, download
and iFrame
capabilities manually. Note, that the print
functionality appears to be broken (in pdfmake?).
npm install
npm start
Notes
Using module in HTML
Optionally, the module may be used in HTML directly. Below are given snippets, calling the module. For more information check out the file test/index.html
.
<script src="bundle.js" type="text/javascript"></script>
<script type="text/javascript">
openPdf = function(content) {
var dd = { content: content };
createPdf(dd).open();
}
printPdf = function(content) {
var dd = { content: content };
createPdf(dd).print();
}
downloadPdf = function(content) {
var dd = { content: content };
createPdf(dd).download();
}
iframePdf = function(content) {
var dd = { content: content };
createPdf(dd).getDataUrl(function (result) {
document.getElementById('theIFrame').setAttribute('src', result);
});
}
</script>
Contributors
NPM: pdfmake-browserified-0.1.18
Github: pdfmake-browserified
Other Projects
pdfmake MIT License
Roboto Apache License
Note
I did this for fun. Contributions from people with a more solid node background are welcome! I wonder if this module works for anyone else, but me.
License
MIT