我不想使用RN库来创建PDF查看器,我想点击一个文件图标,并询问我想在哪个安装的应用程序中打开该文件。有图书馆允许我这么做吗?
bd1hkmkf1#
我已经在我的项目中使用了rn-fetch-blob,之后,它就像做一样容易;安卓
const android = RNFetchBlob.android; android.actionViewIntent(path, 'application/pdf');
iOS操作系统
RNFetchBlob.ios.openDocument(path);
kknvjkwl2#
也许,您可以使用react native本身的Linking来打开pdf文件,例如:
Linking
Linking.openURL(url).catch((err) => { console.log(err) });
如果url是本地的,您可能需要使用类似于:
import RNFS from 'react-native-fs';
file://${RNFS.DocumentDirectoryPath}/file.pdf.或者如果是在线,则url可以是:
file://${RNFS.DocumentDirectoryPath}/file.pdf
http://www.example.com/file.pdf
您也可以尝试使用此软件包:react-native-view-pdf在这里让我知道进展如何。如果这解决了你的问题,投赞成票。:d)
px9o7tmv3#
我不能让它与本地PDF文件的链接一起工作。然后我搜索了更多,找到了react-native-file-viewer。有了这个,你可以像这样简单地打开PDF:
import FileViewer from "react-native-file-viewer"; ... try { await FileViewer.open(url, { showOpenWithDialog: true, showAppsSuggestions: true }); } catch (e) { console.warn(TAG, "An error occurred", JSON.stringify(e)); }
注意:传递给open函数的uri不需要任何file://前缀,只需要普通的路径,比如RNFS.ExternalStorageDirectoryPath + "/mypdf.pdf"
file://
RNFS.ExternalStorageDirectoryPath + "/mypdf.pdf"
lg40wkob4#
加载远程PDF的简单方法,请尝试以下操作
Linking.openURL(url).catch((err) => { console.log(err) })
4条答案
按热度按时间bd1hkmkf1#
我已经在我的项目中使用了rn-fetch-blob,之后,它就像做一样容易;
安卓
iOS操作系统
kknvjkwl2#
也许,您可以使用react native本身的
Linking
来打开pdf文件,例如:如果url是本地的,您可能需要使用类似于:
file://${RNFS.DocumentDirectoryPath}/file.pdf
.或者如果是在线,则url可以是:
您也可以尝试使用此软件包:
react-native-view-pdf
在这里让我知道进展如何。如果这解决了你的问题,投赞成票。:d)
px9o7tmv3#
我不能让它与本地PDF文件的链接一起工作。然后我搜索了更多,找到了react-native-file-viewer。有了这个,你可以像这样简单地打开PDF:
注意:传递给open函数的uri不需要任何
file://
前缀,只需要普通的路径,比如RNFS.ExternalStorageDirectoryPath + "/mypdf.pdf"
lg40wkob4#
加载远程PDF的简单方法,请尝试以下操作