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

相关推荐
Old Uncle Tom14 分钟前
银行用户画像 -- 金融目标与需求意图
前端·人工智能·金融
IT_陈寒19 分钟前
Vue的响应式让我加班到凌晨3点,原来问题出在这
前端·人工智能·后端
东方小月20 分钟前
从0开发一个 Coding Agent(一):前言
前端·人工智能·typescript
恋猫de小郭20 分钟前
Flutter 全新真 3D 实现,用 flutter_scene 能开发一个「我的世界」
android·前端·flutter
asdzx6722 分钟前
Python PDF 拆分实战指南:单页拆分与按需页码范围拆分
开发语言·python·pdf
ji_shuke43 分钟前
远程排查 Web 系统问题:如何导出 HAR 文件协助定位
前端·问题排查
程序员爱钓鱼1 小时前
Rust String 与 &str 详解:字符串所有权、借用与转换
前端·后端·rust
码农学院1 小时前
GEO与SEO协同:从传统搜索到生成式搜索的平滑迁移路径
服务器·前端·python
咩咩啃树皮10 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny10 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端