Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cesarvr/react-native-pdf-generator
react-native-pdf-generator, porting the cordova-pdf-generator to react native.
https://github.com/cesarvr/react-native-pdf-generator
Last synced: about 1 month ago
JSON representation
react-native-pdf-generator, porting the cordova-pdf-generator to react native.
- Host: GitHub
- URL: https://github.com/cesarvr/react-native-pdf-generator
- Owner: cesarvr
- License: mit
- Created: 2018-12-31T20:57:01.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T16:28:58.000Z (almost 2 years ago)
- Last Synced: 2024-10-14T06:43:49.284Z (2 months ago)
- Language: Objective-C
- Size: 957 KB
- Stars: 4
- Watchers: 2
- Forks: 5
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## PDF Generator for React Native.
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.
### How it works
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](https://github.com/brentnycum/BNHtmlPdfKit).
For Android it just use [WebView](https://developer.android.com/reference/android/webkit/WebView).
#### Changelog
**1.6.4:** Adding React Native ``0.6x`` compatibility.
**1.6.1:** Removed deprecated UIWebView.### Supported Devices
* iOS >=8
* Android >=19## Getting started
To install the library:
### Easy Way
```sh
npm i rn-pdf-generator --save
react-native link
```### Hard Way
[hard way...](https://facebook.github.io/react-native/docs/linking-libraries-ios)
### Usage
To transform raw HTML into PDF:
```javascript
import PDF from 'rn-pdf-generator';PDF.fromHTML(`
HELLO WORLD
`, `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 ````.
Transforming a remote webpage:
```javascript
import PDF from 'rn-pdf-generator';
PDF.fromURL('https://www.google.com/')
.then( data => console.log(data)) // WFuIGlzIGRpc3Rpbm....
.catch( err => console.log('error->', err) )```
### Demo
[This demo](https://github.com/cesarvr/react-native-pdf-generator-demo) that generates a PDF and then display it using [react-native-pdf plugin](https://www.npmjs.com/package/react-native-pdf).
![Demo](https://github.com/cesarvr/react-native-pdf-generator-demo/blob/master/demo-img/pdf_document.gif?raw=true)