当前位置: 首页 > news >正文

一款基于 ReactNative 最新发布的`Android/iOS` 新架构文档预览开源库

这是一款基于 ReactNative 发布的Android/iOS 新架构文档预览开源库 三端统一使用点击这里

版本:latest

rn-newarch-doc-viewer

[!TIP] Github 地址

安装与使用

[!TIP] 注意 ⚠️ 本库 android/ios 仅给予 Fabric 新架构支持,旧架构不在跟进,若需旧架构支持请移步原作者https://github.com/philipphecht/react-native-doc-viewer

确保你的 Android/iOS 已经开启了新架构支持 https://reactnative.cn/docs/0.72/the-new-architecture/use-app-template

npm
npm install rn-newarch-doc-viewer
yarn
yarn add rn-newarch-doc-viewer

若想更改库的别名 react-native-doc-viewer 来导入。你则需要把 rn-newarch-doc-viewer 库修改下,重新 yarn 执行

+  "dependencies": {"@react-native-oh/react-native-harmony": "0.72.48","patch-package": "^8.0.0","postinstall-postinstall": "^2.1.0","react": "18.2.0","react-native": "0.72.5",
-    "rn-newarch-doc-viewer":"^0.0.17"
+   "react-native-doc-viewer":"npm:rn-newarch-doc-viewer@0.0.17","react-native-ohos-docviewer": "^0.0.3"},

ios 需要

 cd iosbundle install && bundle exec pod install

下面的代码展示了这个库的基本使用场景:

import React, { useEffect } from "react";
import {Button,DeviceEventEmitter,SafeAreaView,StatusBar,StyleSheet,
} from "react-native";
import OpenFile from "react-native-doc-viewer";
import { getBase64ImagePath } from "./imgbase64";
const App = () => {useEffect(() => {//监听文件预览下载进度const subscribtion = DeviceEventEmitter.addListener("RNDownloaderProgress", (event) => {// 添加事件处理console.log("Download progress:", event.progress);});return () => {// 清理事件监听器subscribtion&& subscribtion.remove();};}, []);const previewImage = () => {OpenFile.openDoc([{url: "https://i.gsxcdn.com/2015162519_i828z3ug.jpeg",//ios required fileNamefileName:'sample',//android required cachecache:false},],(error: any, url: string) => {if (error) {} else {console.log(url);}});};const previewWord = () => {OpenFile.openDoc([{url: "https://calibre-ebook.com/downloads/demos/demo.docx",//ios required fileNamefileName:'demo',//android required cachecache:false},],(error: any, url: string) => {if (error) {} else {console.log(url);}});};const previewBase64 = () => {OpenFile.openDocb64([{base64: getBase64ImagePath(),fileName: "example",fileType: "jpg",},],(error: any, url: string) => {if (error) {} else {console.log(url);}});};const previewXML = () => {OpenFile.openDocBinaryinUrl([{url: "https://storage.googleapis.com/need-sure/example",//ios required fileNamefileName:'example',//android required cachecache:falsefileType: "xml",},],(error: any, url: string) => {if (error) {console.log("Error opening XML file:", error);} else {console.log(url);}});};return (<SafeAreaView style={styles.container}><StatusBar barStyle={"dark-content"} /><Button onPress={previewImage} title="预览图片" /><Button onPress={previewWord} title="预览word文档" /><Button onPress={previewBase64} title="base64打开预览" /><Button onPress={previewXML} title="预览XML" /></SafeAreaView>);
};
export default App;
const styles = StyleSheet.create({container: {flex: 1,},
});

更多详情用法参考 三端统一使用点击这里

开源不易,希望您可以动一动小手点点小 ⭐⭐
👴 希望大家如有好的需求踊跃提交,如有问题请提交 issue,空闲时间会扩充与修复优化

开源协议

本项目基于 The MIT License (MIT) ,请自由地享受和参与开源。

http://www.lryc.cn/news/604460.html

相关文章:

  • 从训练到推理:Intel Extension for PyTorch混合精度优化完整指南
  • Visual Studio Code 使用指南 (2025年版)
  • 记录Linux下ping外网失败的问题
  • 看涨虚值期权卖方亏损风险有多大?
  • Linux 系统进程管理与计划任务详解
  • 171页|数字经济时代的新思考:如何进行数字化转型和成为数据驱动的企业
  • jenkins连接docker失败【还是没解决】
  • [SKE]Python gmssl库的C绑定
  • OpenBayes 一周速览丨Self Forcing 实现亚秒级延迟实时流视频生成;边缘AI新秀,LFM2-1.2B采用创新性架构超越传统模型
  • windows11环境配置psbody_mesh库编译安装详细教程
  • MySQL设置为严格模式
  • Kubernetes 中 ConfigMap 与 Secret 的深度解析
  • [leetcode] 反转字符串中的单词
  • Syzkaller实战教程2:运行环境配置+实例运行
  • 小程序端基于 AI 的语音交互功能深度开发
  • 《计算机组成原理与汇编语言程序设计》实验报告六 存储器实验
  • 【C++】类和对象(中)拷贝构造、赋值重载
  • 自动驾驶车辆的敏捷安全档案
  • PAES算法求解 ZDT1 双目标优化问题
  • 实例教学FPN原理与PANet,Pytorch逐行精讲实现
  • AUTO TECH 2025广州电动车/混合动力车展:新能源汽车的时代交响
  • 无刷电机在汽车领域的应用与驱动编程技术
  • 河南萌新联赛2025第(三)场:河南理工大学【补题】
  • cpp c++面试常考算法题汇总
  • 汽车、航空航天、适用工业虚拟装配解决方案
  • 爱车生活汽车GPS定位器:智能监控与安全驾驶的守护者
  • aws(学习笔记第五十课) ECS集中练习(2)
  • arkui 动画曲线
  • 【python 获取邮箱验证码】模拟登录并获取163邮箱验证码,仅供学习!仅供测试!仅供交流!
  • 【go】实现BMI计算小程序与GUI/WEB端实现