Android support π
- πInstall react-native-webview on your own!
- πInstall expo-file-system on your own!
- πInstall expo-constants on your own!
- Use it into Expo app (from expo client, Standalone app or ExpoKit app).
- Only React-Native 0.60+ support, Expo SDK 33-36+
- Display file only on full screen.
import * as React from 'react'
import { View } from 'react-native'
import PDFReader from 'rn-pdf-reader-js'
export default class App extends React.Component {
render() {
return (
<PDFReader
source={{
uri: 'http://gahp.net/wp-content/uploads/2017/09/sample.pdf',
}}
/>
)
}
}
interface Source {
uri?: string // can be local or served on the web (ie. start with `https://` or `file://`)
base64?: string // should start with `data:application/pdf;base64,`. A base64 encoded pdf file tends to start with `JVBERi0xL` so your complete string should look something like this: `data:application/pdf;base64,JVBERi0xL...`
headers?: { [key: string]: string }
}
interface Props {
source: Source
style?: View['props']['style'] // style props to override default container style
webviewStyle?: WebView['props']['style'] // style props to override default WebView style
noLoader?: boolean
onLoad?(): void // callback that runs after WebView is loaded
onLoadEnd?(): void // callback that runs after WebView is loaded
onError?(): void // callback that runs when WebView is on error
}
- For Android, use react-pdf / pdfjs in the webview
- For iOS devices, display file directly to the WebView (react-native-webview)
- react-pdf (pdf.js)
- WebView
- Base64
Looking for a ReactNative freelance expert with more than 12 years experience? Contact me from myΒ website!