/react-native-share-pdf

Share base64 PDF file - NPM library

Primary LanguageJavaScriptMIT LicenseMIT

react-native-share-pdf

npm version Codacy Badge codecov CircleCI

Android Library for saving and sharing a base64 encoded PDF.

Motivation


Sharing a base64 PDF works on iOS with the React Native API but it's not working for Android. The ShareFile JAVA module shows that's possible by saving the document on local storage of the device and sharing it.

Demo

Android iOS
Android iOS

Install

npm i react-native-share-pdf

Usage

import RNShareFile from 'react-native-share-pdf';

async function loadAndSharePDF() {
  const showError = await RNShareFile.sharePDF(mockData.document, mockData.filename);
  if (showError) {
    // Do something with the error
  }
}

Methods

  • RNShareFile.share(base64Data, documentFileName);

Manual Installation

React Native > 0.60 will autolink. For earlier versions:

  1. Open up android/app/src/main/java/[...]/MainApplication.java
  • Add import com.maximegerbe.reactnative.sharefile.ShareFilePackage; to the imports at the top of the file
  • Add new ShareFilePackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-share-pdf'
    project(':react-native-share-pdf').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share-pdf/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
    implementation project(':react-native-share-pdf')
    

License

MIT

Author

Other information

  • Please, feel free to ⭐️ the project. This gives the confidence that you like it and a great job was done by publishing and supporting it 🤩