Navel Pondering Mantra

    pdfmake-browserified-0.1.18

    0.1.3 • Public • Published

    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(); // immediately opens new tab with PDF in browser
    createPdf(content).download(); // immediately downloads PDF in browser

    Motivation

    1. Removing boilerplate code, that is required when one uses pdfmake with frameworks line AngularJS.
    2. 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:

    /**
    * The parameters fonts and vfs may be undefined/null.
    * Calling function(docDefinition) will result in using the included default font Roboto.
    */
    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.

    <!-- provides the function "createPdf" in a browser -->
    <script src="bundle.js" type="text/javascript"></script>
     
    <!-- helper functions, invoked by buttons -->
    <script type="text/javascript">
    openPdf = function(content) {
        // content: 'This is a sample PDF printed with pdfMake'
        var dd = { content: content };
        createPdf(dd).open();
    }
     
    printPdf = function(content) {
        // content: 'This is a sample PDF printed with pdfMake'
        var dd = { content: content };
        createPdf(dd).print();
    }
     
    downloadPdf = function(content) {
        // content: 'This is a sample PDF printed with pdfMake'
        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

    Install

    npm i pdfmake-browserified-0.1.18

    DownloadsWeekly Downloads

    6

    Version

    0.1.3

    License

    MIT

    Last publish

    Collaborators

    • xerik