采用typescript编写,实现ofd前端预览、验章

news2025/1/12 13:17:18

前言  浏览器内核已支持pdf文件的渲染,这极大的方便了pdf文件的阅读和推广。ofd文件作为国产板式标准,急需一套在浏览器中渲染方案。

  本人研究ofd多年,分别采用qt、c# 开发了ofd阅读器。本人非前端开发人员,对js、typescript并不熟悉,所以对开发web版阅读器迟迟没有下手。但是,本人闲暇之时就阅读web相关书籍,持之以恒终有所获。

  编程就是开发思想和业务的结合,编程语言只是具体实现的一种方式。JavaScript语法与c#、java非常类似,看起来毫无违和感;再结合本人对ofd的理解,很快就开发出来一款web阅读器;目前,功能还不是很全,但是核心功能已实现。在ofd渲染部分,本人采用在canvas中画文本、线和图,处理方式与qt很类似,同时考虑了未来的功能扩展(如搜索、加注释等)。

功能说明:

1 支持三种签章标准(GB/T 38540-2020,GB/T 35275-2017,GM/T 0031-2014),鼠标移动到印章,立即显示验签结果。

2 支持文字选中。采用在canvas画文字,处理鼠标移动事件,实现文字选中效果;

3 单个js文件完成所有功能,方便嵌入到其他系统中。

专注C#、C++。擅长WPF、WinForm、QT等技术。 研究ofd多年,开发了一些列产品。 技术交流QQ群:565438497。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GNU-gcc编译选项-1

include目录 -I ,比如: -I. -I ./Platform/include -I ./Platform/include/prototypes -I ./tpm/include -I ./tpm/include/prototypes -I ./Simulator/include -I ./Simulator/include/prototypes 编译选项 在GCC编译器中,-D是一个编译选项&…

京东CEO许冉的第一份成绩单 我们打分:80!

大数据产业创新服务媒体 ——聚焦数据 改变商业 2023年8月16日,京东发布了截至2023年6月30日的二季度财报及中期业绩。这也是京东集团CEO许冉由CFO升任CEO后交出的第一份成绩单。 在看成绩单之前,我们先回顾一下许冉上任时京东的状况。当时,…

群晖上用Docker安装OpenWrt

什么是 OpenWrt ? OpenWrt 是一款基于 Linux 系统的开源路由器操作系统,可以将普通的 PC 或嵌入式设备转变成为一个功能强大的路由器。 老苏对没玩过的东西总是比较好奇,准备用 Docker 搭建一个 OpenWrt 来研究研究。 网上管这种玩法叫旁路路…

Xmake v2.8.2 发布,官方包仓库数量突破 1k

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好&#x…

ChatGPT只是玩具:生成式人工智能在不同行业的应用

源自:IT经理网 生成式人工智能的十一个行业用例 打开生成式 AI的正确姿势 声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题&…

ssm在线云音乐系统的设计与实现

ssm在线云音乐系统的设计与实现042 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 随着移动互联网时代的发展,网络的使用越来越普及,用户在获取和存储信息方面也会有激动人心的…

代码随想录算法训练营(回溯总结篇)

回溯也可以说是暴力搜索(最多剪枝一下)。回溯是递归的副产品,只要有递归就会有回溯。 一.分类 1.组合问题 (1)按组合元素的个数 (2)按组合元素的总和 有重复元素 同一元素可以重复选&#x…

【C语言】喝汽水问题

大家好!今天我们来学习C语言中的喝汽水问题! 目录 1. 题目内容: 2. 思路分析 2.1 方法一 2.2 方法二 2.3 方法三 3. 代码实现 3.1 方法一 3.2 方法二 3.3 方法三 1. 题目内容 喝汽水,1瓶汽水1元,2个空瓶可以…

Java学习笔记37

Java笔记37 TCP案例 TCP实现发送消息 下面我们来分别编写一个客户端程序和一个服务端程序,使用用户端给服务端发送一句消息,然后使用服务端接收用户端发送过来的这句消息并打印输出。 客户端: 创建一个与服务端Socket类的实例对象&#xf…

基于java+mysql+控件台学生信息管理系统

基于javamysql控件台学生信息管理系统 一、系统介绍二、功能展示四、其他系统实现五、获取源码 一、系统介绍 项目类型:Java SE项目(控制台打印) 项目名称:基于Java学生信息管理系统(student_sys) 当前版本&#xf…

寻找重复数-快慢指针

给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常…

使用 MATLAB 和 Simulink 对雷达系统进行建模和仿真

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

ClickHouse(二十五):ClickHouse 可视化工具操作

​​​​​​​ 进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证…

vite创建项目命令

1.第一步运行创建命令(npm) npm create vitelatest也可以使用yarn yarn create vite还可以 pnpm create vite注意的地方:首次创建的时候会出现这个 Need to install the following packages:create-vitelatest Ok to proceed? (y) 直接y就…

如何设计一个订单号生成服务?

一、数据量的大小二、有意义的ID三、高可用四、高性能五、唯一性六、包含分库分表的业务字段七、实战 1) Redis2) Leaf-segment 数据库生成3)Leaf-snowflake方案4) UUID 如何设计要给订单号生成服务 一、数据量的大小 在设计订单号的生成服务时候,我们首先要考虑的…

【深度学习 | ResNet核心思想】残差连接 跳跃连接:让信息自由流动的神奇之道

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

ms-tpm-20-ref 在linux下编译

1、代码地址, GitHub - microsoft/ms-tpm-20-ref: Reference implementation of the TCG Trusted Platform Module 2.0 specification.Reference implementation of the TCG Trusted Platform Module 2.0 specification. - GitHub - microsoft/ms-tpm-20-ref: Refe…

企业/公司电脑图纸加密软件系统——「天锐绿盾加密软件」

天锐绿盾是一款企业级透明加密软件,旨在保护企业或设计院的图纸文件和电子文档,防止信息泄露和数据安全问题。 ​ 天锐绿盾采用了核心驱动层的透明加密 技术,可以在操作系统层自动对所有需要加密的文档进行加密和解密,用户在使用加…

交换机的基本原理与配置(二)

目录 2. 以太网交换机 2.1 交换机设备简介 2.2交换机的工作原理 2.3交换机接口的双工模式 2. 以太网交换机 下面通过交换机设备简介,交换机的工作原理及交换机接口模式来了解以太网交换机。 2.1 交换机设备简介 交换机的品牌众多,像Cisco公司&#xf…