npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pdfmake-browserified-0.1.18

v0.1.3

Published

Browserified version of pdfmake 0.1.18, font Roboto included.

Downloads

15

Readme

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 [email protected]. 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