Android Library for saving and sharing a base64 encoded PDF.
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.
Android | iOS |
---|---|
npm i react-native-share-pdf
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
}
}
- RNShareFile.share(base64Data, documentFileName);
React Native > 0.60 will autolink. For earlier versions:
- 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 thegetPackages()
method
- 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')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:implementation project(':react-native-share-pdf')
- 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 🤩