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

一款基于 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.xdnf.cn/news/16618.html

相关文章:

  • 【AI 数据管理】Text2SQL:当AI成为你和数据库之间的金牌“翻译官”
  • 如何将JPG、PNG、GIF图像转换成PDF、SVG、EPS矢量图像
  • rabbitmq--默认模式(点对点)
  • 应用药品 GMP 证书识别技术,实现证书信息的自动化、精准化提取与核验
  • 【动态规划算法】斐波那契数列模型
  • Linux730 tr:-d /-s;sort:-r,-n,-R,-o,-t,-k,-u;bash;cut:-d,-c;tee -a;uniq -c -i
  • 独立站如何吃掉平台蛋糕?DTC模式下的成本重构与利润跃升
  • sqli-labs:Less-6关卡详细解析
  • KONG API Gateway中的核心概念
  • 图像处理中级篇 [1]—— 彩色照相机的效果与预处理
  • SpringBoot之整合SSM步骤
  • PHP语法高级篇(七):MySQL数据库
  • [论文阅读] 人工智能 + 软件工程 | 增强RESTful API测试:针对MongoDB的搜索式模糊测试新方法
  • 【LINUX网络】使用TCP简易通信
  • 【STM32-HAL】 SPI通信与Flash数据写入实战
  • 国产化再进一步,杰和科技推出搭载国产芯片的主板
  • 【CF】Day115——杂题 (构造 | 区间DP | 思维 + 贪心 | 图论 + 博弈论 | 构造 + 位运算 | 贪心 + 构造 | 计数DP)
  • 代码随想录算法训练营第五十五天|图论part5
  • 【音视频】WebRTC-Web 音视频采集与播放
  • 如何利用 Redis 的原子操作(INCR, DECR)实现分布式计数器?
  • CSS-in-JS 动态主题切换与首屏渲染优化
  • IBM Watsonx BI:AI赋能的下一代商业智能平台
  • 领域驱动设计(DDD)在分布式系统中的架构实践
  • jenkins连接docker失败【还是没解决】
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的便利店信息管理系统(附源码+数据库+毕业论文+远程部署)
  • 计算机网络基础(一) --- (网络通信三要素)
  • 【C++算法】77.优先级队列_数据流的中位数
  • PHP云原生架构:容器化、Kubernetes与Serverless实践
  • 机器学习笔记(四)——聚类算法KNN、Kmeans、Dbscan
  • 深入理解 Qt 元对象系统 (Meta-Object System)