Client-side JavaScript PDF generation for everyone.
JsPDF is a library, which is used for client-side JavaScript PDF generation.
Features:
Purpose: jsPDF is a JavaScript library that allows you to generate PDF documents directly in the browser. It is designed to be client-side, meaning the PDF generation happens on the user's machine, not on a server..
Key Features:
PDF Creation: The library enables the creation of PDF documents using JavaScript.
Installation: jsPDF can be installed using npm, yarn, or loaded from a CDN.
Recommended installation is via npm using the command npm install jspdf --save
or yarn add jspdf
.
Module Formats: The library supports different module formats including ES2015, Node, and UMD.
Basic Usage:
The library can be imported using import { jsPDF } from "jspdf";
.
A new PDF document can be created using const doc = new jsPDF();
.
Text can be added to the document using doc.text("Hello world!", 10, 10);
.
The document can be saved using doc.save("a4.pdf");
.
Customization:
Paper size, orientation, and units can be customized when creating a new document.
For example, const doc = new jsPDF({ orientation: "landscape", unit: "in", format: });
creates a landscape document with 2x4 inch dimensions.
Node.js Support: jsPDF can also be used in Node.js environments.
Optional Dependencies: Some functions, such as the html
method, rely on optional dependencies like html2canvas
and dompurify
. These are loaded dynamically.
TypeScript Support: jsPDF includes a typings file for use in TypeScript projects.
Unicode Characters / UTF-8: To use UTF-8 characters, a custom font with the necessary glyphs needs to be integrated. The library supports .ttf font files. A font converter tool is available to generate a js-file with the content of the .ttf font, as well as jsPDF code, which is then added to your project.
Advanced API: jsPDF has two API modes: "compat" mode, which is compatible with the original version and plugins, and "advanced" mode, which includes advanced features such as transformation matrices and patterns.
Community Support: The library is open to contributions, bug reports, and feature requests. It also refers users to Stack Overflow for common questions.
In summary, jsPDF is a versatile JavaScript library that enables client-side PDF generation, offering various customization options and support for different environments and module formats, including optional dependencies..