【问题标题】:React Native - open local pdf file in applicationReact Native - 在应用程序中打开本地 pdf 文件
【发布时间】:2018-05-24 22:30:09
【问题描述】:

我有一个 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 组件,该组件必须被设置为应用程序内组件的样式和布局。它不是我想要的。我只想要一个原生的 pdf 查看器来读取本地文件内容并做它的事情。

【问题讨论】:

    标签: android react-native


    【解决方案1】:

    你可以试试"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,则需要将其写入文件并使用链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-11
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      相关资源
      最近更新 更多