react-to-pdf
Version:
Create PDF documents from React Components
181 lines (141 loc) • 5.67 kB
Markdown
# 2.0.3 (November 25, 2025)
Updates npm ignore file and some scripts for dev.
- Release 2.0.3 (d623651)
- update CHANGELOG (a9e339d)
- update script to release notes (a91e4cb)
- add script for release notes (ec578c6)
- ignore test tarball folder and update npm ignore (0a23d1a)
- update .npmignore (d3551bb)
# 2.0.2 (November 25, 2025)
This release includes a security fix for JsPDF, see https://github.com/parallax/jsPDF/releases/tag/v3.0.2 among some minor dep updates for dev.
- Release 2.0.2 (683d699)
- upgrade jspdf (#172) (61be78f)
- Bump jspdf from 3.0.1 to 3.0.2 (#170) (5e3843b)
- Bump vite from 6.2.7 to 6.4.1 (#168) (84d4119)
- Bump tar-fs from 2.1.3 to 2.1.4 (#167) (8aed727)
- update changelog (961318d)
- upgrade release-it (e48cb12)
# 2.0.1 (June, 3, 2025)
Fixes security vulnerabilities from tar-fs and some other minor changes related to Vite bumps.
* add nvmrc file (8abe51d)
* add nvmrc file (2260c0c)
* Bump tar-fs from 2.1.2 to 2.1.3 (#159) (c1cc4e7)
* Bump vite from 6.2.6 to 6.2.7 (#158) (eee4dc1)
* Bump vite from 6.2.5 to 6.2.6 (#157) (e6a1555)
* Bump vite from 6.2.4 to 6.2.5 (#155) (6fefc56)
* Bump vite from 6.2.3 to 6.2.4 (#154) (0c09957)
* update changelog (f56dd81)
# 2.0.0 (March, 28, 2025)
This release fix some security vulnerabilities related to jspdf. https://github.com/parallax/jsPDF/releases/tag/v3.0.1. This major release follows jspdf major release v3 which dropped support for Internet Explorer and fixed a security vulnerability in the html function by updating the optional dependency dompurify to v3.2.4.
There are no other breaking changes.
* update links (2605643)
* update changelog (d9e6d0d)
# 2.0.0-beta.0 (March, 28, 2025)
* Prepare release 2 beta (#153) (bad7181)
* Switch to vite (#152) (f6f7ea5)
* Bump release-it and canva (#151) (0c85ca3)
* Bump jspdf from 2.5.1 to 3.0.1 (#150) (4f9f7f9)
* Bump msgpackr from 1.8.5 to 1.10.1 (#107) (094c0ee)
* Bump ip from 1.1.8 to 1.1.9 (#115) (a01f348)
* Bump @babel/traverse from 7.21.4 to 7.23.2 (#90) (195760f)
* Use alias for examples (#81) (6552d8b)
* update changelog and add release script (562e695)
# 1.0.1 (September, 7, 2023)
* fix broken build (076e1ad)
* update docs (076e1ad)
* update changelog (076e1ad)
# 1.0.0 (September, 7, 2023)
* update readme (ced5bd5)
* Add Cypress tests (#80) (42f19fa)
* add codesandbox examples (79d4272)
* update changelog (a8028f1)
# 1.0.0-alpha.1 (September 2, 2023)
* fix examples broken links (85dee13)
* Fix method update and add more examples (#78) (d94c930)
* fix wrong default method that should be save (f4bdf69)
* Bump tough-cookie from 4.1.2 to 4.1.3 (#76) (6ee98c4)
* Bump word-wrap from 1.2.3 to 1.2.5 (#75) (13a4d7a)
* Bump semver from 5.7.1 to 5.7.2 (#77) (05a15ab)
* remove node 14 from ci (693eb8d)
* upgrade dep and changelog (ef85689)
* remove aditional file (acd4622)
* update changelog and remove example from npm (b8632b3)
# 1.0.0-alpha.0 (August 26, 2023)
## New Features
- React 18 support
- Multipage support
- Typescript
- Supports opening the PDF in the browser via the method `open`. The `build` method can be used to just return the built PDF.
- Possible to set the quality of the image using the `resolution` option.
- Margin is now easier to set using the `margin` option, either by setting values especifically for each point (top, bottom, left, right) or a general value for all points.
- Possible to override or customize values also passed for the `html2canvas`` function.
## Breaking Changes
- The wrapper react component no longer exists. Use either the default function or the `usePDF` hook. See below an example on how to migrate from the v0 to v1;
- The following props were not included in the 1.x available options:
- `scale` - not supported, if you want to get a higher PDF resolution, use the `resolution` option instead
- `x` - Use `margin` param instead
- `y` - Use `margin` param instead
- `onComplete` - The default function and the `toPDF` function returned in the `usePDF` hook returns a `Promise` that can be awaited instead of the `onComplete` callback
## Migrating from v0 to v1:
Before (v0):
```jsx
import ReactToPdf from 'react-to-pdf'
const Component = () => (
const handleComplete = () => {
console.log('PDF has been generated')
}
return (
<ReactToPdf filename="page.pdf" options={{compress: true}} x={5} y={5} onComplete={handleComplete}>
{({toPdf, targetRef}) => (
<div>
<button onClick={toPdf}>Generate PDF</button>
<div ref={targetRef}>
Content to be included in the PDF
</div>
</div>
)}
</ReactToPdf>
)
)
```
After (v1):
```jsx
import { usePDF } from 'react-to-pdf'
const Component = () => (
const { toPDF, targetRef } = usePDF();
const options = {
filename: 'page.pdf',
page: {
margin: 5
},
overrides: {
pdf: {
compress: true
}
}
}
const handleGeneratePDF = async () => {
await toPDF(options);
console.log('PDF has been generated')
}
return (
<div>
<button onClick={handleGeneratePDF}>Generate PDF</button>
<div ref={targetRef}>
Content to be included in the PDF
</div>
</div>
)
)
```
# 0.0.14 (May 18, 2021)
- Upgraded JsPdf
# 0.0.13 (September 2, 2020)
- Fixed UMD configuration
# 0.0.12 (September 2, 2020)
- Upgraded eslint
- Fixed conflicted code in source
- Const to var in index
- Support UMD
# 0.0.11
Initial public released