react-to-pdf
Version:
Create PDF documents from React Components
136 lines (109 loc) • 4.01 kB
Markdown
# 2.0.0-beta.9 (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