跨平台OFD、PDF文档预览UTS插件

〇、介绍

Seal-OfdReader是跨平台OFD文档预览原生插件,具有以下特点:

  • 支持UniApp项目集成,也支持原生Android项目集成

  • 非腾讯X5,无内核加载,高效率、稳定高可用

  • 支持在线文档,也支持离线设备本地文档

  • 支持Android和IOS

  • 支持全屏预览,也支持组件嵌入方式预览

  • 支持顶部状态栏自定义菜单功能按钮

  • 支持水印防截屏自定义状态栏自定义菜单功能按钮等诸多可选配置

  • 支持国产OFD以及PDF文档格式

作者其他插件,欢迎使用:

1、文档预览原生Android项目离线集成,Demo工程及README文档地址: Seal-Office-Android-Demo
2、跨平台Office文档预览原生插件【非X5离线、组件嵌入、水印、WPS预览编辑】,插件地址:Seal-OfficeOnline
3、跨平台系统接口:获取静音模式、免打扰状态、音量等UTS插件,插件地址:seal-system-api-uts
4、Android和IOS图片预览,音视频播放原生插件【非腾讯X5,无内核加载】,插件地址:Seal-ImageVideo
5、跨平台Android和IOS百度OCR文字识别、证卡识别、票据识别原生插件,插件地址:Seal-OCR
6、跨平台Android和IOS百度语音在线识别原生插件,插件地址:Seal-VoiceASR

各位同学,对于插件使用还有疑问的,可以加QQ群(170683293)咨询,也可以扫下面二维码添加WX或者添加QQ(2480621579)。

一、快速上手

插件名称:seal-ofd-reader-api-uts

Step1. 点击右上角【使用HBuilderX导入示例项目】

Step2. 打开manifest.json文件,重新获取AppID

Step3. 制作自定义调试基座

点击“运行-》运行到手机或模拟器-》制作自定义调试基座”

Step4. 运行调试

连接真机,点击“运行-》运行到手机或模拟器-》运行到Android App(或iOS App)基座-》选择‘使用自定义基座运行’”

二、插件接口

  • openFile方法:支持Android和IOS,预览OFD、PDF格式文档,IOS端不支持PDF。

三、使用方法

openFIle文档预览(离线、在线)

参数参考章节《三、openFile接口参数说明》

支持平台:Android、IOS

支持OFD,PDF,注意:IOS不支持PDF

index.uvue

uni.showLoading({
  title: '正在下载文件,请稍后~'
});
uni.downloadFile({
  url: 'http://silianpan.cn/upload/2022/01/01/1.ofd',
  success: res => {
    if (res.statusCode === 200) {
      // 直接传递本地文件地址
      // 传递本地文件绝对路径,res.tempFilePath的前缀是_doc,而实际目录为doc,没有下划线_,所以要substr取子串
      // const url = '/storage/sdcard0/Android/data/APP包名/apps/APPID/' + res.tempFilePath.substr(1)
      // 可以通过以下方式获取文件绝对路径
      uni.saveFile({
        // 需要保存文件的临时路径
        tempFilePath: res.tempFilePath,
        success: resSave => {
          uni.hideLoading();
          const savedFilePath = resSave.savedFilePath;
          // 转换为绝对路径
          const fileLocalPath = plus.io.convertLocalFileSystemURL(savedFilePath);
          console.log('tempFilePath', res.tempFilePath);
          console.log('savedFilePath', savedFilePath);
          console.log('fileLocalPath', fileLocalPath);
          // 预览本地文件
          openFile({
            filePath: fileLocalPath,
            title: 'OFD/PDF文档在线预览',
            topBarBgColor: '#3394EC',
            waterMarkText: '你好,世界\n准备好了吗?时刻准备着',
          } as OpenFileParams)
        }
      });
    }
  }
});

index.vue

uni.showLoading({
  title: '正在下载文件,请稍后~'
});
uni.downloadFile({
  url: 'http://silianpan.cn/upload/2022/01/01/1.ofd',
  success: res => {
    if (res.statusCode === 200) {
      // 直接传递本地文件地址
      // 传递本地文件绝对路径,res.tempFilePath的前缀是_doc,而实际目录为doc,没有下划线_,所以要substr取子串
      // const url = '/storage/sdcard0/Android/data/APP包名/apps/APPID/' + res.tempFilePath.substr(1)
      // 可以通过以下方式获取文件绝对路径
      uni.saveFile({
        // 需要保存文件的临时路径
        tempFilePath: res.tempFilePath,
        success: resSave => {
          uni.hideLoading();
          const savedFilePath = resSave.savedFilePath;
          // 转换为绝对路径
          const fileLocalPath = plus.io.convertLocalFileSystemURL(savedFilePath);
          console.log('tempFilePath', res.tempFilePath);
          console.log('savedFilePath', savedFilePath);
          console.log('fileLocalPath', fileLocalPath);
          // 预览本地文件
          openFile({
            filePath: fileLocalPath,
            title: 'OFD/PDF文档在线预览',
            topBarBgColor: '#3394EC',
            waterMarkText: '你好,世界\n准备好了吗?时刻准备着',
          })
        }
      });
    }
  }
});

四、openFile接口参数说明

支持打开在线文档,本地文档

支持平台:Android、IOS

参数名说明类型是否必填默认值可选值
filePath本地文件路径,如:/data/user/0/APP包名/files/1.ofdstring
docDownloadTitle文档加载进度框标题,IOS端无此配置string加载文档
waterMarkText水印文本,默认以**\n**作为分隔符换行stringnull
waterMarkTextSep水印文本分隔符,注意:IOS端只支持\n换行string\n
waterMarkFontSize水印字体大小,单位为sp
使用sp作为字体大小单位,会随着系统的字体大小改变
int13
waterMarkFontColor水印字体颜色string#40F3F5F9
waterMarkDegree水印旋转角度,IOS端无此配置string-30(逆时针30度)
isTopBar是否显示顶栏,IOS端无此配置booltruefalse
title顶栏标题,isTopBar为true时有效stringAPP名称
topBarHeight顶栏自定义高度,isTopBar为true时有效,类型为正整数,IOS端无此配置intactionBarSize
topBarBgColor顶栏背景颜色,isTopBar为true时有效string#3394EC(科技蓝)
topBarTextColor顶栏文本颜色(isTopBar为true时有效)string#FFFFFF(白色)
topBarTextLength顶栏标题文字长度(isTopBar为true时有效),IOS端无此配置int12
isBackArrow是否显示返回按钮(isTopBar为true时有效),IOS端无此配置booltruefalse

五、预览效果

Android

  • 预览ofd

  • 嵌入预览

  • 预览pdf

IOS

  • 预览ofd

  • 嵌入预览

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/908254.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电机学习-SPWM原理及其MATLAB模型

SPWM原理及其MATLAB模型 一、SPWM原理二、基于零序分量注入的SPWM三、MATLAB模型 一、SPWM原理 SPWM其实是相电压的控制方式,定义三相正弦相电压的表达式: { V a m V m sin ⁡ ω t V b m V m sin ⁡ ( ω t − 2 3 π ) V c m V m sin ⁡ ( ω t 2…

CasaOS香橙派安装HomeAssistant智能家居系统并实现远程管理家中智能设备

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

哈希表,哈希桶及配套习题

我们今天带大家简单了解哈希表是怎样的,和简单模拟哈希桶,还有几道练习题 一,哈希表 什么是哈希表,哈希表是一种非常非常高效的数据结构,它用来搜索我们想要的数据,我们之前学过很多查找方法,最…

R语言贝叶斯分层、层次(Hierarchical Bayesian)模型房价数据空间分析

原文链接:https://tecdat.cn/?p38077 本文主要探讨了贝叶斯分层模型在分析区域数据方面的应用,以房价数据为例,详细阐述了如何帮助客户利用R进行模型拟合、分析及结果解读,展示了该方法在处理空间相关数据时的灵活性和有效性。&a…

拉取git代码不适用ssh,使用用户名及密码

最近换了新电脑,拉取git代码,提示我需要配置ssh,但是着实是有点麻烦了,所以使用用户名和密码的方式可以直接拉取 首先登陆git后找到对应项目地址,有ssh 和http。但是这两种都不是我们要用的地址,使用用户名…

第三十一章 Vue之路由(VueRouter)

目录 一、引言 1.1. 路由介绍 二、VueRouter 三、VueRouter的使用 3.1. 使用步骤(52) 3.2. 完整代码 3.2.1. main.js 3.2.2. App.vue 3.2.3. Friend.vue 3.2.4. My.vue 3.2.5. Find.vue 一、引言 1.1. 路由介绍 Vue中路由就是路径和组件的映…

Windows转Mac过渡指南

最近由于工作原因开始使用mac电脑,说实话刚拿到手的时候,window党表示真的用不惯。坚持用一下午之后,发现真的yyds,这篇文章说说mac电脑的基本入门指南。 1. 不会使用mac的触摸板,接上鼠标发现滚轮和windows是反的。 …

408——计算机网络(持续更新)

文章目录 一、计算机网络概述1.1 计算机网络的概念1.2 计算机网络体系结构1.3 总结 二、物理层2.1 物理层的基本概念2.2 物理层的基本通信技术2.3 总结 一、计算机网络概述 1.1 计算机网络的概念 计算机网络的定义:将地理位置不同的具有独立功能的计算机通过网络线路…

Linux下安装MongoDB

1.版本选择 偶数版本为稳定版,个人为了学习,选择较低版本5.0.30 2.下载 1. 个人使用下载社区版本 2.进入community version中 3.推荐直接使用:推荐用直接下载tgz方式,但是主要为了方便,后续会说一下 个人下载了sev…

无人机避障——路径规划篇(一) JPS跳点搜索算法A*算法对比

JSP 跳点搜索算法与改进 A*算法对比 一、算法概述: 跳点搜索(Jump Point Search,JPS)算法:一种用于路径规划的启发式搜索算法。它主要用于在网格地图(如游戏地图、机器人运动规划地图等)中快速找到从起点到终点的最短路径。该算法在改进 A*算法的基础上进行了优化,通过跳过一…

【热门主题】000027 React:前端框架的强大力量

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【热…

win11安装最新rabbitmq

1、安装Erlang 注意:RabbitMQ需要Erlang支持,所以要先安装Erlang,安装RabbitMQ版本需要与之对应的Erlang版本才行查看对应的RabbitMQ对应的Erlang 版本下载Erlang 2、安装RabbitMQ 下载 RabbitMQ Erlang和RabbitMQ安装过程一直点下一步…

distrobox install in ubuntu 22.04 / 在 ubuntu 22.04 上安装 distrobox (***) OK

要点: 本测试实验,采用的是 podman distrobox 在沙盒 snap 中,安装 distrobox 需要使用 --devmode 开发模式;可以避开 distrobox 的版本检查? distrobox 官方文档显示, Installation https://distrobox.i…

leetcode203. Remove Linked List Elements

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val val, and return …

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31目录1. Large Language Models for Manufacturing摘要创新点算法模型实验效果(包含重要数据与结论)推荐…

【AI工作流】FastGPT - 深入解析FastGPT工作流编排:从基础到高级应用的全面指南

文章目录 一、工作流编排概述二、FastGPT的节点类型1. 基础功能插件(1) 文本输出(2) 功能调用(3) 工具(4) 外部调用(5) 其他 2. 系统插件3. 团队插件 三、工作流中的流向结语 在当今快速发展的人工智能领域,工作流编排的能力已成为提升用户体验和应用效率的关键因素…

NVR批量管理软件/平台EasyNVR多个NVR同时管理支持对接阿里云、腾讯云、天翼云、亚马逊S3云存储

随着云计算技术的日益成熟,越来越多的企业开始将其业务迁移到云端,以享受更为灵活、高效且经济的服务模式。在视频监控领域,云存储因其强大的数据处理能力和弹性扩展性,成为视频数据存储的理想选择。NVR批量管理软件/平台EasyNVR&…

光通信——WDM/DWDM/CWDM

一、WDM 波分复用原理:将光纤的低损耗窗口可使用的光谱带宽分割为若干子带宽,然后将待传递的电信号调制到各个子带宽的中心波长光载波上同时传输,是一种能在一根光纤中同时实现多波长信道传输的扩容技术。 WDM复用系统可以分为单向和双向两种…

优化EDM邮件营销,送达率与用户体验双赢

EDM邮件营销需选对平台,优化邮件列表,确保内容优质,进行邮件测试,关注用户反馈调整频率,以保高送达率,提升营销效果。 1. 了解电子邮件送达率的重要性 在开始优化邮件送达率之前,首先需要理解电…

TypeScript起航篇·何为TypeScript?

你好,我是安然无虞。 文章目录 什么是 TypeScriptTypeScript 的特性类型系统TypeScript 是静态类型TypeScript 是弱类型总结: 什么是 TypeScript Hello TypeScript 什么是 TypeScript Typed JavaScript At Any Scale. 添加了类型系统的JavaScript,适用…