Is a light weight native library that transform HTML to PDF, or even better transform the content of a URL like https://google.com
into a PDF.
The PDF is returned in base64 format so you can use more specialized modules to mail, sharing, visualizing, etc.
Basically this library takes HTML as string or remote and loads the xml into an internal iOS/Android WebKit, then it traverse the web page generating a WYSIWYG PDF document.
This plugin uses a very light weight iOS library for this called BNHtmlPdfKit.
For Android it just use WebView.
1.6.5: Added maven plugin on android build.gradle for compatibility with gradle 7.x version.
1.6.4: Adding React Native 0.6x
compatibility.
1.6.1: Removed deprecated UIWebView.
- iOS >=8
- Android >=19
To install the library:
npm i rn-pdf-generator --save
react-native link
To transform raw HTML into PDF:
import PDF from "rn-pdf-generator"
PDF.fromHTML(`<P>HELLO WORLD</P>`, `http://localhost`)
.then(data => console.log(data)) // WFuIGlzIGRpc3Rpbm....
.catch(err => console.log("error->", err))
In case you this HTML fetch resources from external servers you can specify the location using the second parameter
<base-url>
.
Transforming a remote webpage:
import PDF from "rn-pdf-generator"
PDF.fromURL("https://www.google.com/")
.then(data => console.log(data)) // WFuIGlzIGRpc3Rpbm....
.catch(err => console.log("error->", err))
This demo that generates a PDF and then display it using react-native-pdf plugin.