Create PDF files using React
JavaScript
Latest commit 75e9b52 Dec 18, 2017 @diegomura diegomura Add sponsors to README

README.md

React renderer for creating PDF files on the browser, mobile and server

This project is still in development, so please do not use react-pdf on production yet. First release soon!

npm Travis license styled with prettier

How to install

# You should always install the core package
yarn add @react-pdf/core

# And also the bindings that you need
yarn add @react-pdf/node
yarn add @react-pdf/dom
yarn add @react-pdf/mobile

* DOM and mobile bindings are not functional yet.

How it works

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

// 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>
);

Render in DOM

import React from 'react';
import ReactDOM from 'react-dom';

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

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

Save in a file

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

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

Render in mobile

Coming soon

Examples

For each example, try opening output.pdf to see the result.


Text

Images

Resume

Fractals

Knobs

To run the examples, first clone the project and install the dependencies:

git clone https://github.com/diegomura/react-pdf.git
cd react-pdf
yarn install

Then, run yarn example -- <example-name>

yarn example -- fractals

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