原生js预览ofd文件

81 篇文章 7 订阅


在线 DEMOJavascript preview ofd

我从网上看了好多文章,基本都是互抄的,但是,也给了我一个入门的提示,最起码知道ofd的基本用法。

如果是vue中集成ofd预览,那就没啥说的,网上的方法大概率就可以,直接集成git仓库中的utils文件即可。

那要是使用原生js集成呢?直接把Utils搬过来?保准不行。

有人说使用ofd.js的cdn,直接引入即可,好家伙,还是报错。


接下来,经过亲身实践,我来给各位提供一个可行的原生js预览ofd文件的方法.

仔细想想,如果原生js都能预览了,那距离到使用vue这种框架中集成还远吗?vue中不会使用原生js的包?不会吧不会吧!


进入正文

第一步-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文件夹,里面是打包后ofdjs文件,以及一个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就完成了。

有些时候网上给出的某些函数的用法,可能会与我们再实际使用的时候有些冲突,遇到那个函数不会用,直接去ofd.umd.js中去搜索对应的函数名,看看用法即可。

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
OFD(Open Format Document)是一种开放的文档格式,旨在为文档处理和交互提供更好的通用性和互操作性。Java 作为一种主流的编程语言,具有强大的文档处理能力和出色的跨平台性。因此,Java 读取 OFD 文档内容的需求日益增加。 Java 读取 OFD 文档内容主要需要借助第三方的 OFD 解析库,目前常用的有 Apache Ofdbox 和 iText 7 for Java。Apache Ofdbox 是 Apache 开源的一个开放式 OFD 文件解析和转换工具箱,包含了 OFD 解析、OFD 转 PDF、OFD 转图片等模块,可以方便地读取 OFD 文档内容,并转换成其他格式的文档。而 iText 7 for Java 则是一款功能强大且易于使用的 Java PDF 库,支持对 OFD 文档进行高效率的读写处理。 在使用 OFD 解析库进行文档读取时,一般可通过以下步骤进行: 1. 导入 OFD 解析库的包和依赖(如 Apache Ofdbox 或 iText 7 for Java)。 2. 打开 OFD 文件,并获取文档元素列表。 3. 遍历文档元素列表,获取需要的文档内容(如文字、图片等)。 4. 根据需要对文档内容进行处理、转换或输出。 需要注意的是,在实际的 OFD 文档读取过程中,OFD 文件格式比较复杂,包含了许多不同类型的元素,如文字、图片、页面布局、字体、颜色等。因此,在读取 OFD 文档时需要考虑到各个元素之间的关联性和复杂度,以保证读取的稳定性和准确性。 总之,Java 读取 OFD 文档内容需要使用第三方的 OFD 解析库,并根据 OFD 文档格式的复杂性,进行针对性的文档处理和解析。通过整合完善的OFD解析库,可以实现高效率、准确性和稳定性的 OFD 文档读取处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值