Code Monkey home page Code Monkey logo

react-native-html-to-pdf-v2's Introduction

react-native-html-to-pdf

Convert html strings to PDF documents using React Native

Add it to your project

  1. Run npm install react-native-html-to-pdf --save
  2. Open your project in XCode, right click on Libraries and select Add Files to "Your Project Name.
  3. Add libRNHTMLtoPDF.a to Build Phases -> Link Binary With Libraries (Screenshot).

Usage

var React = require('react-native');

var {
  AlertIOS,
  AppRegistry,
  StyleSheet,
  Text,
  TouchableHighlight,
  View,
} = React;

import RNHTMLtoPDF from 'react-native-html-to-pdf';

var Example = React.createClass({

  createPDF() {
    var options = {
      html: '<h1>PDF TEST</h1>', // HTML String

      ****************** OPTIONS BELOW WILL NOT WORK ON ANDROID **************                              
      fileName: 'test',          /* Optional: Custom Filename excluded extention
                                    Default: Randomly generated
                                  */


      directory: 'docs',          /* Optional: 'docs' will save the file in the `Documents`
                                    Default: Temp directory
                                 */

      base64: true,               /* Optional: get the base64 PDF value
                                          Default: false
                                       */

      height: 800,                /* Optional: 800 sets the height of the DOCUMENT that will be produced
                                    Default: 612
                                  */
      width: 1056,                /* Optional: 1056 sets the width of the DOCUMENT that will produced
                                    Default: 792
                                  */
      padding: 24                 /* Optional: 24 is the # of pixels between the outer paper edge and
                                            corresponding content edge.  Example: width of 1056 - 2*padding
                                            => content width of 1008
                                    Default: 10
                                  */
    };

    RNHTMLtoPDF.convert(options).then((data) => {
      console.log(data.filePath);
      console.log(data.base64);
    });
  },

  render() {
    <View>
      <TouchableHighlight onPress={this.createPDF}>
        <Text>Create PDF</Text>
      </TouchableHighlight>
    </View>
  }
});

Example

The example project included demonstrates how you can create a PDF file from a html string and email it as an attachment using react-native-mail.

Android

The android module pulls in iText to convert html to pdf. You are supposed to obtain a license for commercial use of iText.

  • Edit android/settings.gradle to included
include ':react-native-html-to-pdf'
project(':react-native-html-to-pdf').projectDir = new File(rootProject.projectDir,'../node_modules/rreact-native-html-to-pdf/android')
  • Edit android/app/build.gradle file to include
dependencies {
  ....
  compile project(':react-native-html-to-pdf')

}
  • Edit MainApplication.java to include
// import the package
import com.parkerdan.htmltopdf.RNHTMLtoPDFPackage;

// include package
new MainReactPackage(),
new RNHTMLtoPDFPackage()

react-native-html-to-pdf-v2's People

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.