react-native集成PDF预览组件react-native-pdf

react-native集成PDF预览组件react-native-pdf

版本信息

react-native-pdf 文档链接

本人使用的框架版本信息:

"react-ntive":"0.70.6",

"react-native-pdf":"~6.6.0",

"react-native-blob-util": "~0.16.0"

我刚开始使用了最新版的react-native-pdf但是会导致打包报错,我尝试降低版本才打包成功

至于react-native-blob-util使用最新版也是打包报各种错误,没办法也是降低了版本才可以,

为什么要安装react-native-blob-util组件,是因为在react-native-pdf组件中引用了该组件,如果本地不安装就会报错

版本问题:因为我是针对0.70.6的rn版本进行集成,如果你的版本更高,我给的版本打包报错的情况下,则需要适当调高对应的组件版本

如果rn版本比较低则建议查看文档解决问题

安卓配置修改

修改android/app/build.gradle文件,在android中加入以下代码

java 复制代码
android{
    ....其他已有代码
    //新增代码
	packagingOptions {
	   pickFirst 'lib/x86/libc++_shared.so'
	   pickFirst 'lib/x86_64/libjsc.so'
	   pickFirst 'lib/arm64-v8a/libjsc.so'
	   pickFirst 'lib/arm64-v8a/libc++_shared.so'
	   pickFirst 'lib/x86_64/libc++_shared.so'
	   pickFirst 'lib/armeabi-v7a/libc++_shared.so'
	}
}

IOS配置自己看文档

使用方式(直接照抄即可)

javascript 复制代码
import Pdf from 'react-native-pdf';

<View style={{ flex: 1 }}>
	<Pdf
	   source={{
	     uri: url,
	   }}
	   trustAllCerts={false}
	   onLoadComplete={(numberOfPages, filePath) => {
	     console.log(`Number of pages: ${numberOfPages}`);
	   }}
	   onPageChanged={(page, numberOfPages) => {
	     console.log(`Current page: ${page}`);
	   }}
	   onError={error => {
	     console.log('error', error);
	   }}
	   onPressLink={uri => {
	     console.log(`Link pressed: ${uri}`);
	   }}
	   style={{ flex: 1 }}
	 />
 </View>

注意:trustAllCerts={false}必须得加,不然会加载不出来PDF

相关推荐
渣渣xiong29 分钟前
从零开始:前端转型AI agent直到就业第五天-第十一天
前端·人工智能
布局呆星37 分钟前
Vue3 | 组件通信学习小结
前端·vue.js
C澒40 分钟前
IntelliPro 企业级产研协作平台:前端智能生产模块设计与落地
前端·ai编程
OpenTiny社区2 小时前
重磅预告|OpenTiny 亮相 QCon 北京,共话生成式 UI 最新技术思考
前端·开源·ai编程
前端老实人灬2 小时前
web前端面试题
前端
Moment2 小时前
AI 全栈指南:NestJs 中的 Service Provider 和 Module
前端·后端·面试
IT_陈寒2 小时前
为什么我的JavaScript异步回调总是乱序执行?
前端·人工智能·后端
Moment2 小时前
AI全栈入门指南:NestJs 中的 DTO 和数据校验
前端·后端·面试
小码哥_常2 小时前
告别RecyclerView卡顿!8个优化技巧让列表丝滑如德芙
前端
小村儿3 小时前
Harness Engineering:为什么你用 AI 越用越累?
前端·后端·ai编程