@react-pdf/renderer

Create PDF files on the browser and server

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@react-pdf/renderer
14,1274613.4.411 hours ago6 years agoMinified + gzip package size for @react-pdf/renderer in KB

Readme

React renderer for creating PDF files on the browser and server

<a href="https://www.npmjs.com/package/@react-pdf/renderer">
  <img src="https://img.shields.io/npm/v/@react-pdf/renderer.svg" />
</a>
<a href="https://travis-ci.org/diegomura/react-pdf">
  <img src="https://img.shields.io/travis/diegomura/react-pdf.svg" />
</a>
<a href="https://github.com/diegomura/react-pdf/blob/master/LICENSE">
  <img src="https://img.shields.io/github/license/diegomura/react-pdf.svg" />
</a>
<a href="https://spectrum.chat/react-pdf">
  <img src="https://withspectrum.github.io/badge/badge.svg" />
</a>
<a href="https://github.com/prettier/prettier">
  <img src="https://img.shields.io/badge/styled_with-prettier-ff69b4.svg" />
</a>

How to install

yarn add @react-pdf/renderer

How it works

import { Document, Page, Text, View, StyleSheet } from '@react-pdf/renderer';

// Create styles
const styles = StyleSheet.create({
  page: {
    flexDirection: 'row',
    backgroundColor: '#E4E4E4',
  },
  section: {
    margin: 10,
    padding: 10,
    flexGrow: 1,
  },
});

// Create Document Component
const MyDocument = () => (
  <Document>
    <Page size="A4" style={styles.page}>
      <View style={styles.section}>
        <Text>Section #1</Text>
      </View>
      <View style={styles.section}>
        <Text>Section #2</Text>
      </View>
    </Page>
  </Document>
);

Web. Render in DOM

import ReactDOM from 'react-dom';
import { PDFViewer } from '@react-pdf/renderer';

const App = () => (
  <PDFViewer>
    <MyDocument />
  </PDFViewer>
);

ReactDOM.render(<App />, document.getElementById('root'));

Node. Save in a file

import ReactPDF from '@react-pdf/renderer';

ReactPDF.render(<MyDocument />, `${__dirname}/example.pdf`);

Examples

For each example, try opening output.pdf to see the result.
<tbody>
	<tr>
		<td align="center" valign="top">
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/text/">
				<img width="150" height="150" src="https://github.com/diegomura/react-pdf/blob/master/packages/examples/src/text/thumb.png?raw=true">
			</a>
			<br>
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/text/">Text</a>
		</td>
		<td align="center" valign="top">
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/resume/">
				<img width="150" height="150" src="https://github.com/diegomura/react-pdf/blob/master/packages/examples/src/resume/thumb.png?raw=true">
			</a>
			<br>
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/resume/">Resume</a>
		</td>
		<td align="center" valign="top">
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/fractals/">
				<img width="150" height="150" src="https://github.com/diegomura/react-pdf/blob/master/packages/examples/src/fractals/thumb.png?raw=true">
			</a>
			<br>
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/fractals/">Fractals</a>
		</td>
	</tr>
</tbody>
<tbody>
	<tr>
		<td align="center" valign="top">
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/knobs/">
				<img width="150" height="150" src="https://github.com/diegomura/react-pdf/blob/master/packages/examples/src/knobs/thumb.png?raw=true">
			</a>
			<br>
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/knobs/">Knobs</a>
		</td>
		<td align="center" valign="top">
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/pageWrap/">
				<img width="150" height="150" src="https://github.com/diegomura/react-pdf/blob/master/packages/examples/src/pageWrap/thumb.png?raw=true">
			</a>
			<br>
			<a href="https://github.com/diegomura/react-pdf/tree/master/packages/examples/src/pageWrap/">Page wrap</a>
		</td>
	</tr>
</tbody>

Contributors

This project exists thanks to all the people who contribute. Contribute.

Sponsors

Thank you to all our sponsors! Become a sponsors

Backers

Thank you to all our backers! Become a backer

License

MIT © Diego Muracciole
FOSSA Status