raphaelsaunier / react-pdf

Create PDF files using React (patched to run on RHEL until https://github.com/facebook/yoga/issues/588 is fixed)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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].

Backers

Thank you to all our backers! [Become a backer]

License

MIT © Diego Muracciole

About

Create PDF files using React (patched to run on RHEL until https://github.com/facebook/yoga/issues/588 is fixed)

License:MIT License


Languages

Language:JavaScript 100.0%