我有一个pdf,我想在点击一个按钮后显示给用户。我成功地向用户展示了类似的pdf:
<TouchableOpacity onPress={() => Linking.openURL('www.somesite.com/manual.pdf')}>
<Text>See pdf</Text>
</TouchableOpacity>
这很棒,因为它打开了一个原生的pdf阅读器并相应地下载了内容。我想用本地应用程序pdf文件获得类似的结果,但我不知道如何使用openUrl api实现类似的效果。
我在How to open local PDF file in WebView in Android?看到了答案的答案,但似乎这个解决方案创建了一个webView组件,必须在app组件中进行样式化和布局。这不是我想要的。我只是想要一个原生的pdf查看器来读取本地文件内容并做其事。
答案 0 :(得分:0)
您可以尝试使用"react-native-view-pdf软件包。这非常简单,并且NPM依赖项为零:
import PDFView from 'react-native-view-pdf';
<View style={{ flex: 1 }}>
<PDFView
style={{ flex: 1 }}
onError={(error) => console.log('onError', error)}
onLoad={() => console.log('PDF rendered from url')}
resource="http://www.pdf995.com/samples/pdf.pdf"
resourceType="url"
/>
</View>
并且此解决方案允许轻松地将PDF文档嵌入到应用程序中,而不用通过外部应用程序打开它。例如,它可以是一个单独的页面。我们已经在生产中使用了一段时间,没有任何问题,它使我们可以从本地文件,URL或base64字符串打开PDF。
否则,如果要外部应用程序打开PDF,则需要将其写入文件并使用“链接”。