JavaScript
Clone or download
Latest commit 727bcee Jul 1, 2018

README.md

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

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

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

Note: you need add transform-loader like in example

Note: Import Document from @react-pdf/dom instead of the core when used in the DOM

// to fix "regeneratorRuntime is not defined", which causes by "@react-pdf/*"
// also you can use "babel-polyfill"
import 'regenerator-runtime/runtime';
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

Page wrap

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