首页 > 其他分享 >原生js预览ofd文件

原生js预览ofd文件

时间:2024-11-14 13:29:51浏览次数:1  
标签:文件 const 预览 lib ofd js html

进入正文
第一步-Clone
打开GitHub或者Gitee,那个有账号用哪个,因为要下载包。

ofd-github ofd-gitee

然后,将项目clone下来。

然后,然后就是常规操作了兄弟:

编辑器打开项目,下载项目依赖npm install
看package.json,运行项目应该是npm run serve,具体以实际的package.json中的script脚本为准。
如果能运行起来,那就说明OK,依赖下载什么的没得问题。

第二步-build
重要的步骤来了,package.json中有一行脚本:

"scripts": {
"lib": "vue-cli-service build --target lib --name ofd --dest lib ./src/utils/ofd/ofd.js"
}
没错,执行它npm run lib

脚本执行完成后,会自动在项目根目录下生成一个lib文件夹,里面是打包后ofd的js文件,以及一个demo.html。

打开demo.html我们会发现,其内容异常简单,有用的代码就一行,即:<script src="./ofd.umd.js"></script>,这告诉我们,如果我们要用ofd.js,那你就需要在你的html文件内引入ofd.umd.js文件。

OK,接下来就是写代码时间了。

第三步-集成
怎么集成?

首先,将打包后的lib文件夹,整个搬迁到我们的项目下。

在html文件中,引入ofd.umd.js 或者 ofd.umd.min.js

<script src="./lib/ofd/ofd.umd.min.js"></script>
然后,定义一个[type=file]Input来选择ofd文件,再定义一个容器,用来展示渲染的ofd文件

<body>
<input type="file" ref="file" class="hidden" accept=".ofd" onchange="fileChanged(event)" />
<div id="ofdContainer" style="width:100%;height:800px;"></div>
</body>
最后就是js了

function fileChanged(e) {
// 获取文件数据
const file = e.target.files[0];
// 转换ofd文档
ofd.parseOfdDocument({
ofd: file,
success: function (res) {
const screenWidth = 800;
const ofdRenderRes = ofd.renderOfd(screenWidth, res[0]);
let ofdContainerDiv = document.getElementById('ofdContainer');
// 清空元素
ofdContainerDiv.innerHTML = '';
for (const item of ofdRenderRes) {
ofdContainerDiv.appendChild(item);
}
},
fail: function(err){
console.error('ofd文件渲染失败',err);
}
});
}
到此为止,原生js渲染ofd就完成了。

标签:文件,const,预览,lib,ofd,js,html
From: https://www.cnblogs.com/hellofangfang/p/18545798

相关文章

  • 大学生网页设计制作作业实例代码 HTML+CSS+JS (1)
    文章目录......
  • js 统计树形组织架构人员数量
    组织架构树形数据,且存在一个人员在多公司/或部门计数重复问题//统计组织架构内人员数量constcountNodesProperty=(treeItemData,propertyName,propertyValue)=>{letcount=0constuserArr=[]consttraverse=nodes=>{nodes.forEach(node......
  • JS之Date时间处理
     初始化当前时间://1.使用构造函数方式varnewDate=newDate()//2.使用函数方式vardate=Date()//返回的是一个Date对象console.log(newDate)//返回的是表示当前时间的字符串console.log(date);初始化指定时间:通过Date对象初始化时间为指定的年月日可......
  • Nodejs保姆级安装教程(超详细)
    目录一、安装环境二、安装步骤三、验证安装四、修改全局模块下载路径 五、更换npm源为淘宝镜像总结一、安装环境本教程演示的环境:win1064位node.js下载: https://pan.quark.cn/s/6cc0cf8ba5be二、安装步骤1、双击安装包,一直点击下一步。2、点击change按钮......
  • 基于nodejs+vue中小型酒店管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于酒店管理系统的研究,现有研究主要以大型酒店或连锁酒店为主,专门针对中小型酒店管理系统的研究较少。在国内外,大型酒店由于资源丰富、管理复杂,吸引了......
  • 基于nodejs+vue中小型企业工资管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于工资管理系统的研究,现有研究多以大型企业或通用型企业管理系统为主,专门针对中小型企业工资管理系统的研究较少。在国内外,大型企业的工资管理系统往......
  • node.js毕设通达学院竞赛信息管理系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高校竞赛信息管理的研究,现有研究主要集中在竞赛活动的组织与管理、学生参与竞赛的效果评估等方面。专门针对高校竞赛信息管理系统的开发与应用的研......
  • node.js毕设校园图书借阅系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着信息技术的快速发展,图书馆管理系统也在不断更新和升级。传统的图书借阅方式已经无法满足现代高校师生对图书资源的需求。近年来,国内外学者对图书借......
  • Node.js v22.6.0新特性:支持 TypeScript 直接运行!
    Node.jsv22.6.0版本已经发布,并且带来了一个开发者们期待已久的新特性——直接运行TypeScript(TS)文件的能力!版本更新亮点Node.jsv22.6.0版本通过--experimental-strip-types标志,实现了对TypeScript的实验性支持。这意味着开发者们现在可以在Node.js环境中直接执行......
  • ❤React-JSX语法认识和使用
    1、JSX基本使用​JSX是React的核心JSX是ES的扩展jsx语法->普通的JavaScript代码->babelReact可以使用JSX的前提和原因:React生态系统支持: 脚手架通常用于构建React应用程序,而JSX是React框架的核心语法之一。因此,脚手架默认支持JSX语法,以便更轻松地编写和管理React组件......