ofd轻阅读---采用Typescript全新开发,让阅读、批注更方便!
前言 浏览器内核已支持pdf文件的渲染,这极大的方便了pdf文件的阅读和推广。ofd文件作为国产板式标准,急需一套在浏览器中渲染方案。
本人研究ofd多年,分别采用qt、c# 开发了ofd阅读器。本人非前端开发人员,对js、typescript并不熟悉,所以对开发web版阅读器迟迟没有下手。但是,本人闲暇之时就阅读web相关书籍,持之以恒终有所获。
编程就是开发思想和业务的结合,编程语言只是具体实现的一种方式。JavaScript语法与c#、java非常类似,看起来毫无违和感;再结合本人对ofd的理解,开发一款高质量的web阅读器是水到渠成的事;本人采用在canvas中画文本、线和图,处理方式与qt很类似,同时考虑了未来的功能扩展(如搜索、加注释等)。
主要功能:
1 签章前端验证,实时显示验证结果。 支持三种国密签章标准,后续可添加签章功能。
2 采用页面动态加载,实现大文件秒开。采用分页渲染、虚拟DOM、快速xml解析等多种技术。最大可支持几千页文件的在线阅读。
3 实现了对嵌入字体文件的解析。
4 实现了多种类型的批注。率先实现了对填充区域局部擦除功能。
5 可以对原文内容擦除,简单编辑等。(待开发)
6 支持语义树、大纲显示、缩略图、页面跳转等功能
更多功能持续添加中!加入QQ群:565438497,获取最新ofd相关软件。
功能说明:
1 支持三种签章标准(GB/T 38540-2020,GB/T 35275-2017,GM/T 0031-2014),鼠标移动到印章,立即显示验签结果。
2 支持文字选中。支持框选、文档两种选中类型;采用在canvas画文字,处理鼠标移动事件,实现文字选中效果;
3 添加批注 支持压感手写,可实现逼真的手写批注。
注释擦除
4 电子签章
5 OFD输出采用在Canvas中显示方案,未采用转换为svg的方案;优势:能实现复杂的操作、节省内存;
6 单个js文件完成所有功能,方便嵌入到其他系统中,几行代码就可实现在线阅读功能。
ofd轻阅读---采用Typescript全新开发,让阅读、批注更方便!的更多相关文章
- 使用C#开发pdf阅读器初探(基于WPF,没有使用开源库)
前言 pdf是最流行的版式格式文件标准,已成为国际标准.pdf相关的开源软件非常多,也基本能满足日常需要了.相关商业软件更是林林总总,几乎应有尽有!似乎没必要自己再独立自主开发!但,本人基于以下考虑, ...
- .NET Core采用的全新配置系统[3]: “Options模式”下的配置是如何绑定为Options对象
配置的原子结构就是单纯的键值对,并且键和值都是字符串,但是在真正的项目开发中我们一般不会单纯地以键值对的形式来使用配置.值得推荐的做法就是采用<.NET Core采用的全新配置系统[1]: 读取 ...
- 基于Nodejs生态圈的TypeScript+React开发入门教程
基于Nodejs生态圈的TypeScript+React开发入门教程 概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...
- TypeScript进阶开发——ThreeJs基础实例,从入坑到入门
前言 我们前面使用的是自己编写的ts,以及自己手动引入的jquery,由于第三方库采用的是直接引入js,没有d.ts声明文件,开发起来很累,所以一般情况下我们使用npm引入第三方的库,本文记录使用np ...
- VS Code Remote,在服务器上开发程序,开启全新开发模式
一直使用Idea开发java 程序,头疼的是太太太占用内存了,笔记本电脑经常卡爆,在服务器开发的话又太麻烦,VS Code Remote的带来,解决了这一烦恼.下面来实战一下. VS Code Rem ...
- .NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?
配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个 ...
- .NET Core采用的全新配置系统[2]: 配置模型设计详解
在<.NET Core采用的全新配置系统[1]: 读取配置数据>中,我们通过实例的方式演示了几种典型的配置读取方式,其主要目的在于使读者朋友们从编程的角度对.NET Core的这个全新的配 ...
- 采用boosting思想开发一个解决二分类样本不平衡的多估计器模型
# -*- coding: utf-8 -*- """ Created on Wed Oct 31 20:59:39 2018 脚本描述:采用boosting思想开发一个 ...
- 《Windows内核安全与驱动开发》阅读笔记 -- 索引目录
<Windows内核安全与驱动开发>阅读笔记 -- 索引目录 一.内核上机指导 二.内核编程环境及其特殊性 2.1 内核编程的环境 2.2 数据类型 2.3 重要的数据结构 2.4 函数调 ...
- Spring源码阅读笔记01:源码阅读环境准备
1. 写在前面 对于做Java开发的同学来说,Spring就像是一条绕不过去的路,但是大多数也只是停留在对Spring的简单使用层面上,对于其背后的原理所知不多也不愿深究,关于这个问题,我在平时的生活 ...
随机推荐
- PostgresSQL创建一个只读用户
create user readonlyuser with password 'R3333333341'; grant select on all tables in schema public to ...
- TRLO: An Efficient LiDAR Odometry with 3D Dynamic Object Tracking and Removal
arxiv | 中科院联合国科大开源 TRLO:一种结合3D动态物体跟踪与移除的高效LiDAR里程计 [TRLO: An Efficient LiDAR Odometry with 3D Dynami ...
- 一些很好用的SVN功能
1.checkout 1.1 只checkout部分目录和文件 目的:有时候项目的文件很多,但是只会关心其中的某几个文件,就可以只checkout这几个文件,可以缩短checkout时间且减少其他文件 ...
- Python运行报错:ImportError: cannot import name 'BinarySpaceToDiscreteSpaceEnv' from 'nes_py.wrappers'
运行Python项目: https://pypi.org/project/gym-super-mario-bros/ 报错: ImportError: cannot import name 'Bina ...
- OSG开发笔记(三十一):OSG中LOD层次细节模型介绍和使用
前言 模型较大的时候,出现卡顿,那么使用LOD(细节层次)进行层次细节调整,可以让原本卡顿的模型变得不卡顿. 本就是LOD介绍. Demo LOD 概述 LOD也称为层次细节模 ...
- .NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
前言 领导要求做一个小项目,要求独立运行,用以最少的依赖,此时不想集成到主项目中,但是又想用HzyAdmin中如此好用的自动注入,还有操作简单的仓储模式,话不多说,直接开干. HzyAdmin 是一个 ...
- 低功耗4G模组:tcs3472颜色传感器示例
今天我们学习合宙低功耗4G模组Air780EP的LuatOS开发tcs3472示例,文末[阅读原文]获取最新资料1 一.简介 tcs3472颜色传感器能够读取照射到的物体的RGB三种数值,从而识别 ...
- Wgpu图文详解(03)缓冲区Buffer
在上一篇文章中,我们介绍了Wgpu中的渲染管线与着色器的概念以及基本用法.相信读者还记得,我们在渲染一个三角形的时候,使用了三角形的三个顶点的索引作为了顶点着色器的输入,并根据索引值计算了三个几何顶点 ...
- P11233 CSP-S 2024 染色
P11233 CSP-S 2024 染色 考试最后码方程忘记 \(a[i-1]\) 了,调不出来,只好 \(50pts\) 收尾. 思路 \(dp\) 的难点在于确定一段的颜色后,无法快速找到上一段相 ...
- ubuntu 下的 nslookup 命令利用 127.0.0.53 查询主机名失败,而使用网关则正常的问题
遇到一个奇怪的问题,ubuntu 下使用 KRDC 远程访问局域网主机时,连接主机名失败,使用 ip 则正常.通过 nslookup 命令发现,局域网主机名没有被正确解析(使用的是默认的 127.0. ...