html-pdf-viewer
v1.0.14
Published
Client-side rendering of html-pdf-viewer
Downloads
19
Maintainers
Readme
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
