1.0.14 • Published 7 years ago
html-pdf-viewer v1.0.14
html-pdf-viewer
Client-side rendering of html to pdf with display and save options using html2canvas and jspdf.
Getting Started
NPM
Install html-pdf-viewer and its dependencies using NPM with npm install --save html-pdf-viewer.
Import
import htmlpdfviewer from 'html-pdf-viewer';Usage
Simplest way to use:
var html = document.getElementById('html');
htmlpdfviewer(html);Using mode: 'display' to display it on a page:
var html = document.getElementById('html');
htmlpdfviewer(html, { output: { mode: 'display', container: '#iframeId', height: 800 } });
<iframe src="" id="iframeId" frameBorder="0"></iframe>See examples.
Usage in ReactJS
Implementation in ReactJS:
viewPdf = () => {
htmlpdfviewer(this.html, { output: { mode: 'display', container: '#iframeId', height: 800 } });
}
* * *
<div ref={(html) => { this.html = html }}>
<h2 classname="ui header">Hello world!</h2>
</div>
<iframe src="" id="iframeId" frameBorder="0"></iframe>
<Button onClick={() => this.viewPdf()} type="button">View PDF</Button>Options
html-pdf-viewer can be configured by adding an optional options parameter: htmlpdfviewer(<source>, {<options>});
htmlpdfviewer(html, {
margin: 1,
filename: 'myfile.pdf',
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { dpi: 192, letterRendering: true },
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' },
output: { mode: 'display', container: '#iframeId', height: 800 }
});The options parameter has the following optional fields:
| Name | Type | Default | Description |
|---|---|---|---|
| margin | number or array | 0 | PDF margin (in jsPDF units). Can be a single number, [top&bottom, left&right], or [top, left, bottom, right]. |
| filename | string | 'file.pdf' | The default filename of the exported PDF. |
| image | object | {type: 'jpeg', quality: 0.95} | The image type and quality used to generate the PDF. |
| enableLinks | boolean | true | If enabled, PDF hyperlinks are automatically added ontop of all anchor tags. |
| html2canvas | object | { } | Configuration options sent directly to html2canvas (see here for usage). |
| jsPDF | object | { } | Configuration options sent directly to jsPDF (see here for usage). |
| output | object | { } | Configuration options for saving/displaying the pdf. mode: save or display. container: Iframe element id on where you want to display the PDF. height: Display height of the iframe. |
NOTE: container is required if you choose mode: display.
Credits
License
Copyright (c) 2017 Jefferson Aux