从React原生webview下载PDF后,在Android上打开后会显示“PDF格式已损坏或损坏”,但在iOS上运行良好

db2dz4w8  于 2023-05-01  发布在  React
关注(0)|答案(3)|浏览(269)

我正在使用下面的代码打开一个URL。在Android上打开后,从React native webview下载PDF:
“PDF格式已失效或已损坏”
但它在iOS上运行良好。

<WebView
        renderToHardwareTextureAndroid={true}
        startInLoadingState={isLoading}
        renderLoading={() => {
          return <BarIndicator color="blue" />;
        }}
        mediaPlaybackRequiresUserAction={false}
        javaScriptEnabled={true}
        source={{
          uri: webviewUrl,
          headers: webviewHeaders,
        }}
        style={drawerWebviewStyles.container}
      />
iqxoj9l9

iqxoj9l91#

pdf不工作在android webview检查这个问题here你可能会寻找其他解决方案,如下载它,并打开它与pdf查看器

qvk1mo1f

qvk1mo1f2#

<WebView
  source={{
   uri:
    Platform.OS === 'ios'
     ? 'https://www.africau.edu/images/default/sample.pdf'
     : 'https://drive.google.com/viewerng/viewer?embedded=true&url=https://www.africau.edu/images/default/sample.pdf',
  }}
  style={{ marginTop: 20 }}
  useWebKit={true}
  javaScriptEnabled={true}
  domStorageEnabled={true}
  allowFileAccess={true}
  allowFileAccessFromFileURLs={true}
  allowUniversalAccessFromFileURLs={true}
  originWhitelist={['*']}
 />
1aaf6o9v

1aaf6o9v3#

这似乎是一个众所周知的5年前的老问题,那就是通常Android几乎没有能力运行像浏览器这样的资源饥渴应用程序和像应用程序/PDF这样的二进制资源饥渴数据类型。
www.example. com 一个旧论坛评论的死链接。
有相同的桌面浏览器2的可能性。
1.保存为文件下载。pdf并调用任何合适的原生pdf处理程序,但react-native-view-pdf当前无法加载Android中的本地文件。
1.嵌入/定制一个简单维护的js替代PDF查看器,如
https://github.com/xcarpentier/rn-pdf-reader-js类似于基于云的谷歌文档查看器。

相关问题