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的简单使用层面上,对于其背后的原理所知不多也不愿深究,关于这个问题,我在平时的生活 ...
随机推荐
- vmware剪贴板共享不起作用的解决方法-银河麒麟V10服务器版
安装了虚拟机自带的vmware tools,还是不行 试试这样: yum install open-vm-tools yum install open-vm-tools-desktop 或者: sud ...
- mse~路由实现某个页面的灰度功能
起因 我有个网站A[蓝色服务],要对网站A进行改版[绿色服务],其中用户中心已经改完了,希望当用户访问时,如果http请求头中包含isGroup,并且isGroup=0时,去新的绿色服务,反之就还是去 ...
- 初识GO语言--流程控制
- 2-6 C/C++ 编写头文件
目录 头文件怎么起作用 避免头文件被重复引用 避免头文件被重复引用的方法:条件编译 1. 给每个头文件添加一个预编译变量(preprocessor variable)作为标记(Label) 2. 使用 ...
- vue遇到Conflicting order. Following module has been added:(加载顺序冲突)
其中article.vue和topGroup.vue这两个文件在模块unitTest和wrongBook上出现加载冲突 其中一个文件先加载topGroup.vue文件其中一个文件先加载article. ...
- OpenResty之resty.limit.count 模块介绍
resty.limit.count 模块介绍: resty.limit.count 模块就是限制接口单位时间的请求数,This module depends on lua-resty-core模块,所 ...
- Java IO 框架整理
昨天笔试时碰到了IO流的题目,很久没接触IO编程了,所以那道题目做的不行. 搜了一下,这篇文章总结的很有条理,果断转载. 转自:http://tanshenghui.javaeye.com/blog/ ...
- IT人写好简历的原则与方法
来源: 51cto 发布时间: 2010-03-19 14:49 阅读: 3270 次 推荐: 3 原文链接 [收藏] 时常,在各大论坛看到不少的朋友在张贴简历,希望得到他人的指点. ...
- 一个包含了 50+ C#/.NET编程技巧实战练习教程
DotNetExercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程技巧练习集:C#/.NET/.NET Core编程常用语法.算法.技巧.中间件.类库.工作业务实操练 ...
- pikachu平台XXE漏洞通关教程详解
声明! 如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人无关,切勿触碰法律底线,否则后果自负!!!! 文章来自个人csdn博客,地址:ht ...