自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 OFD板式文件创建JAVA工具-EASYOFD

JAVA版本的OFD板式文件创建工具easyofd.功能包含了图像、 图像、 文字、和模版页功能。同时也支持OFD文件的数字签名及验签,电子签章及验签。本JAVA版本的easyofd使用原生方式创建板式文件,不依赖JAVA的SWT库。

2024-08-10 21:34:43 555

原创 我国版式文档格式OFD前端WEB展示之EasyOFD

我国版式文档格式OFD前端WEB展示之EasyOFD一个在web端展示ofd文件的控件,该控件基于CANVAS绘制。该控件使用了以下外部程序1)jszip:解决解压文件。2)x2js: 解决XML文件到JS转换3)easyjbig2: 解决ofd内部使用jb2文件存储的图像转换,若你的项目中没有这类文件,可以不加载。该控件着重页面展示,主要完成了图元的文本、图片和路径的解释和输出,展示了电子印章,并未对其他音频、视频、动画、签名、签封等内容进行处理。

2023-07-19 20:59:23 2153 1

原创 OFD板式文件创建JAVA工具-EASYOFD 七、 电子签章及验签 Seal

JAVA版本的OFD板式文件创建工具easyofd.功能包含了图像、 图像、 文字、和模版页功能。同时也支持OFD文件的数字签名及验签,电子签章及验签。本JAVA版本的easyofd使用原生方式创建板式文件,不依赖JAVA的SWT库。浏览器查看OFD文件。

2024-08-10 21:53:18 524

原创 OFD板式文件创建JAVA工具-EASYOFD 六、 数字签名及验签 Singnature

这属于测试性质的证书使用,不会被第三方认可。正式环境还是需要获取CA签名的证书。// "CN" 通用名// "O",// 组织// "C", // 国家代码// "ST", // 州或省份X500Name subject = new X500Name("CN=公司数字签名, O=上海XX股份有限公司, C=CN, ST= 上海");//证书的扩展信息//使用easy构建国密证书 GMX509BuilderCopy第一步:构建自己的数字证书,第一小节已经讲解。

2024-08-10 21:53:13 963

原创 OFD板式文件创建JAVA工具-EASYOFD 五、 模板及页面设置

JAVA版本的OFD板式文件创建工具easyofd.功能包含了图像、 图像、 文字、和模版页功能。同时也支持OFD文件的数字签名及验签,电子签章及验签。本JAVA版本的easyofd使用原生方式创建板式文件,不依赖JAVA的SWT库。浏览器查看OFD文件。

2024-08-10 21:53:01 756

原创 OFD板式文件创建JAVA工具-EASYOFD 四、文字 Text

如果不想在客户端安装字体,可以考虑通过图元方式,减少字体文件的大小,只把固定使用的字保存在字体ttf或ttc文件中,不过该方式支持的字体数量是有限的。该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算。计算后都是相对于Boundary的y。在默认Body层 x y坐标增加文字图元 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算。在默认Body层 x y坐标增加文字图元 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算。

2024-08-10 21:29:53 817

原创 OFD板式文件创建JAVA工具-EASYOFD 三、图像 Image

本章节介绍OFD文件怎么添加图片。本文以全国统一发票监制章图片为例。  首先,需要将展示的图片在公共资源库进行注册,注册后返回资源ID。有了该资源ID,就可以在其他页面page进行展示了。

2024-08-10 21:29:46 558

原创 OFD板式文件创建JAVA工具-EASYOFD 二、创建图形

本章节介绍OFD中基础的图形绘制相关操作,主要包括了线、矩形、圆和椭圆。也预留了接口支持特殊图形。

2024-08-10 21:29:42 874

原创 OFD板式文件创建JAVA工具-EASYOFD 一、创建项目

JAVA版本的OFD板式文件创建工具easyofd.功能包含了图像、 图像、 文字、和模版页功能。同时也支持OFD文件的数字签名及验签,电子签章及验签。本JAVA版本的easyofd使用原生方式创建板式文件,不依赖JAVA的SWT库。

2024-08-10 21:29:33 609

原创 Java PKI Programmer‘s Guide

公钥应用和系统的用户必须确信,一个主体的公钥是真实的,即与主体相关的私钥由主体拥有。公钥证书用于建立这种信任。公钥(或身份)证书是将公钥绑定到身份的证书,该证书由另一个实体(通常称为认证机构CA)的私钥进行数字签名。在本节的其余部分中,术语CA用于指代签署证书的实体。如果用户没有签署主体公钥证书的CA的公钥的可信副本,则需要另一个公钥证书来证明签署CA的可信度。这种逻辑可以递归应用,直到从信任锚点或最受信任的CA到目标主体(通常称为终端实体)发现一系列证书(或认证路径)。

2024-07-09 21:14:22 1055

原创 Java加密体系结构参考指南-Java Cryptography Architecture

本文是从英文的官网摘了翻译的,用作自己的整理和记录。水平有限,欢迎指正。版本是:22原文地址:https://docs.oracle.com/en/java/javase/22/security/java-cryptography-architecture-jca-reference-guide.html#GUID-815542FE-CF3D-407A-9673-CAE9840F6231  Java Cryptography Architecture(JCA)是平台的重要组成部分,它包含了一个“provi

2024-06-10 11:01:26 810

原创 OFD文件WEB前端展示-easyofd(1.0.6)

OFD VUE HTML EASYOFD

2024-02-19 16:42:26 786 1

原创 QT 中 Graphics View 程序例子-Diagram Scene Example

Q_OBJECTpublic:private:MainWindow类在QMainWindow中创建并布置小部件。该类将小部件的输入转发到DiagramScene。当或者将图表项或图表文本项插入到场景中时,它还会更新其小部件。该类还从场景中删除项目并处理z顺序,z顺序决定项目相互重叠时的绘制顺序。

2023-10-26 16:11:39 844 1

原创 ofd文件格式在VUE中展示

一个在web端展示ofd文件的控件,该控件基于CANVAS绘制。该控件使用了以下外部程序1)jszip:解决解压文件。2)x2js: 解决XML文件到JS转换3)easyjbig2: 解决ofd内部使用jb2文件存储的图像转换,若你的项目中没有这类文件,可以不加载。该控件着重页面展示,主要完成了图元的文本、图片和路径的解释和输出,展示了电子印章,并未对其他音频、视频、动画、签名、签封等内容进行处理。

2023-08-23 16:28:26 1710

原创 jb2文件格式在VUE中展示

随着技术的进步和需求的增加,JBIG2标准于2000年发布,对于从传真到高分辨率彩色扫描文档等各种类型的图像进行无损压缩提供了更好的性能和灵活性。JBIG2引入了更先进的编码技术,如上下文自适应算法和模板匹配,能够进一步减小文件大小,提高压缩率。它被广泛用于电子归档、数字图书馆、OCR(光学字符识别)和文档管理等领域,以实现高效的文档扫描和存储。总的来说,JBIG2作为一种专门针对二值图像的无损压缩技术,为高质量的文档图像处理提供了重要的工具和方法,并在数字化文档管理和传输中发挥了重要的作用。

2023-08-19 14:55:35 516

翻译 QT 中 Graphics View 框架

Graphics View 图形视图提供了一个用于管理和与大量自定义2D 图形项目交互的图面,以及一个用于可视化项目的视图小部件,并支持缩放和旋转。该框架包括一个事件传播架构,允许对场景中的项目进行精准交互功能。可以处理关键事件、鼠标按下、移动、释放和双击事件,还可以跟踪鼠标移动。图形视图使用BSP(二进制空间分区)树来提供非常快速的项目发现,因此,它可以实时可视化大型场景,即使有数百万个项目。Graphics View在Qt 4.2中引入,取代了其前身QCanvas。

2023-08-17 10:43:59 266

原创 jb2文件在web端展示之easyJBIG2show

随着技术的进步和需求的增加,JBIG2标准于2000年发布,对于从传真到高分辨率彩色扫描文档等各种类型的图像进行无损压缩提供了更好的性能和灵活性。JBIG2引入了更先进的编码技术,如上下文自适应算法和模板匹配,能够进一步减小文件大小,提高压缩率。总的来说,JBIG2作为一种专门针对二值图像的无损压缩技术,为高质量的文档图像处理提供了重要的工具和方法,并在数字化文档管理和传输中发挥了重要的作用。// 获取二进制数据,假设为Uint8Array类型的data。// 设置每个像素的比特数(设置为8,灰度图像)

2023-07-15 16:26:20 409

原创 C++ Win32程序编写入门

Win32++由用于创建窗口应用程序的C++库组成。它是MFC的免费替代品,可用于更广泛的编译器,包括Borland、Microsoft和MinGW的编译器。该库可用于创建各种程序,包括简单的窗口、对话框、属性表以及框架和MDI框架应用程序。教程部分提供了有关如何使用这些类构建自己的Win32应用程序的信息。基于框架的应用程序通常有一个通用框架窗口,该窗口可能有例如菜单、工具栏和状态栏,并且在客户端区域上有一个单独的窗口(有时称为视图窗口)。您熟悉的许多windows应用程序都可能是基于框架的应用程序。

2022-12-14 13:44:23 3752

原创 JAVA SCRIPT设计模式--行为型--设计模式之Vistor访问者(23)

的访问者(NodeVisitor层次)。给访问者类层次增加一个新的子类即可创建一个新的操作。只要该编译器接受的语法不改变(即不需要增加新的Node子类),我们就可以简单的定义新的NodeVisitor子类以增加新的功能。

2022-12-09 08:49:49 208

原创 JAVA SCRIPT设计模式--行为型--设计模式之Template Method模板方法(22)

定义抽象的原语操作(primitive operation),具体的子类将重定义它们以实现一个算法的各步骤。实现一个模板方法,定义一个算法的骨架。该模板方法不仅调用原语操作,也调用定义在AbstractClass或其他对象中的操作。定义抽象的原语操作(primitive operation),具体的子类将重定义它们以实现一个算法的各步骤。实现一个模板方法,定义一个算法的骨架。该模板方法不仅调用原语操作,也调用定义在AbstractClass或其他对象中的操作。

2022-12-09 08:49:39 335

原创 JAVA SCRIPT设计模式--行为型--设计模式之Strategy策略模式(21)

参与者: 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 有许多算法可对一个正文流进行分行。将这些算法硬编进使用它们的类中是不可取的, 其原因如下: • 需要换行功能的客户程序如果直接包含换行算法代码的话将会变得复杂,这使得客户程序庞大并且难以维护, 尤其当其需要支持多种换行算法时问题会更加严重。 • 不同的时候需要不同的算法,我们不想支持我们并不使用的换行算法。 • 当换行功能

2022-12-09 08:49:12 266

原创 JAVA SCRIPT设计模式--行为型--设计模式之State状态者模式(20)

一个TCPConnection对象的状态处于若干不同状态之一:连接已建立(Established)、正在监听(Listening)、连接已关闭(Closed)。例如,一个Open请求的结果依赖于该连接是处于连接已关闭状态还是连接已建立状态。例如,TCPEstablished和TCPClosed类分别实现了特定于TCPConnection的连接已建立状态和连接已关闭状态的行为。TCPConnection类维护一个表示TCP连接当前状态的状态对象(一个TCPState子类的实例)。对象看起来似乎修改了它的类。

2022-12-09 08:48:59 259

原创 JAVA SCRIPT设计模式--行为型--设计模式之Observer观察者模式(19)

当一个抽象模型有两个方面 , 其中一个方面依赖于另一方面。将这二者封装在独立的对 象中以使它们可以各自独立地改变和复用。当对一个对象的改变需要同时改变其它对象 , 而不知道具体有多少对象有待改变。当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之 , 你不希望这些 对象是紧密耦合的。

2022-12-09 08:48:37 302

原创 JAVA SCRIPT设计模式--行为型--设计模式之Memnto备忘录模式(18)

一个备忘录(memento)是一个对象,它存储另一个对象在某个瞬间的内部状态,而后者称为备忘录的原发器(originator)。但是对象通常封装了其部分或所有的状态信息 , 使得其状态不能被其他对象访问,也就不可能在该对象之外保存其状态。4)根据SolverState备忘录中的信息,ConstraintSolver改变它的内部结构以精确地将它的等式和变量返回到它们各自先前的状态。这一方案允许ConstraintSolver把恢复先前状态所需的信息交给其他的对象,而又不暴露它的内部结构和表示。

2022-12-09 08:48:06 308

原创 JAVA SCRIPT设计模式--结构型--设计模式之FACADE外观模式(10)

例如有一个编程环境,它允许应用程序访问它的编译子系统。为了提供一个高层的接口并且对客户屏蔽这些类,编译子系统还包括一个Complier类。Compiler类是一个外观,它给用户提供了一个单一而简单的编译子系统接口。编译器的外观可方便大多数程序员使用,同时对少数懂得如何使用底层功能的人,它并不隐藏这些功能。达到该目标的途径之一是就是引入一个外观(facade)对象,它为子系统中较一般的设施提供了一个单一而简单的界面。为子系统中的一组接口提供一个一致的界面, Facad e模式定义了。

2022-12-09 08:47:53 116

原创 JAVA SCRIPT设计模式--行为型--设计模式之Mediator中介者模式(17)

CreateWidgets是创建一个对话框的窗口组件的抽象操作。不同的对话框会有不同的窗口组件间的依赖关系。大量的相互连接使得一个对象似乎不太可能在没有其他对象的支持下工作 —系统表现为一个不可分割的整体。而且 ,对系统的行为进行任何较大的改动都十分困难, 因为行为被分布在许多对象中。例如,FontDialogDirector可作为一个对话框中的窗口组件间的中介者。FontDialogDirector对象知道对话框中的各窗口组件,并协调它们之间的交互。在最坏的情况下,每一个对象都知道其他所有对象。

2022-12-08 12:30:43 374

原创 JAVA SCRIPT设计模式--行为型--设计模式之Iterator迭代器模式(16)

CurrentItem操作返回表列中的当前元素,First操作初始化迭代器,使当前元素指向列表的第一个元素,Next操作将当前元素指针向前推进一步,指向下一个元素,而IsDone检查是否已越过最后一个元素,也就是完成了这次遍历。一个聚合对象,如列表(list),应该提供一种方法来让别人可以访问它的元素,而又不需暴露它的内部结构.此外,针对不同的需要,可能要以不同的方式遍历这个列表。但是即使可以预见到所需的那些遍历操作,你可能也不希望列表的接口中充斥着各种不同遍历的操作。这样迭代机制就与具体的聚合类无关了。

2022-12-08 12:28:00 392

原创 JAVA SCRIPT设计模式--行为型--设计模式之Interpreter解释器模式(15)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能,所以不可能像C++,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVA SCRIPT代码,代码只是实现了设计模式的主体功能,不代表全部的正确,特此声明。若读者需要了解设计模式目录、原则、设计变化方向,环境相关等信息请查看设计模式开篇。​参与者: 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 如果一种特定类型的问

2022-12-08 12:26:19 396

原创 JAVA SCRIPT设计模式--行为型--设计模式之Command命令模式(14)

用Command对象可很容易的实现菜单(Menu),每一菜单中的选项都是一个菜单项(MenuItem)类的实例。当用户选择了一个菜单项时,该MenuItem对象调用它的Command对象的Execute方法,而Execute执行相应操作。但工具箱 不能显式的在按钮或菜单中实现该请求,因为只有使用工具箱的应用知道该由哪个对象做哪 个操作。而工具箱的设计者无法知道请求的接受者或执行的操作。这一模式的关键是一个抽象的Command类,它定义了一个执行操作的接口。其最简单的形式是一个抽象的Execute操作。

2022-12-08 11:01:37 306

原创 JAVA SCRIPT设计模式--行为型--设计模式之Responsibility职责链模式(13)

这儿的问题是提交帮助请求的对象(如按钮)并不明确知道谁是最终提供帮助的对象。假设用户在一个标有“Print”的按钮窗口组件上单击帮助,而该按钮包含在一个PrintDialog的实例中,该实例知道它所属的应用对象(见前面的对象框图)。从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给链中的下一个候选者。例如,对话 框中的按钮的帮助信息就可能和主窗口中类似的按钮不同。如果对那一部分界面没有特定的 帮助信息,那么帮助系统应该显示一个关于当前上下文的较一般的帮助信息。将这些对象连成一条链,

2022-12-08 10:59:24 177

原创 JAVA SCRIPT设计模式--结构型--设计模式之Proxy代理模式(12)

这一限制条件意味着,对于每一个开销很大的对象,应该根据需要进行创建,当一个图像变为可见时会产生这样的需要。但是打开文档必须很迅速,因此我们在打开文档时应避免 一次性创建所有开销很大的对象。因为并非所有这些对象在文档中都同时可见,所以也没有必要同时创建这些对象。只有当文档编辑器激活图像代理的Draw操作以显示这个图像的时候,图像Proxy才创建真 正的图像。问题的解决方案是使用另一个对象,即图像 Proxy,替代那个真正的图像。Proxy可以代替一个图像对象,并且在需要时负责实例化这个图像对象。

2022-12-08 10:55:44 162

原创 JAVA SCRIPT设计模式--结构型--设计模式之FlyWeight享元模式(11)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能,所以不可能像C++,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVA SCRIPT代码,代码只是实现了设计模式的主体功能,不代表全部的正确,特此声明。若读者需要了解设计模式目录、原则、设计变化方向,环境相关等信息请查看设计模式开篇。 参与者: 运用共享技术有效地支持大量细粒度的对象。 Flyweight模式对那些通常因为数量太大而难以用对象来表示的概念或实体进行建

2022-12-08 10:52:54 234

原创 JAVA SCRIPT设计模式--结构型--设计模式之Decorator装饰模式(9)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能,所以不可能像C++,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVA SCRIPT代码,代码只是实现了设计模式的主体功能,不代表全部的正确,特此声明。若读者需要了解设计模式目录、原则、设计变化方向,环境相关等信息请查看设计模式开篇。​参与者: 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类 更为灵活。 有时我们希望给某个

2022-12-08 10:43:06 194

原创 JAVA SCRIPT设计模式--结构型--设计模式之Composite组合模式(8)

同时它也声明了所有的组合对象共享的一些操作,例如一些操作用于访问和管理它的子部件。Picture的Draw操作是通过对它的子部件调用Draw实现的,Picture还用这种方法实现了一些与其子部件相关的操作。下图是一个典型的由递归组合的Graphic对象组成的组合对象结构。然而这种方法存在一个问题:使用这些类的代码必须区别对待图元对象与容器对象,而实际上大多数情况下用户认为它们是一样的。一个简单的实现方法是为Text和Line这样的图元定义一些类,另外定义一些类作为这些图元的容器类(Container)。

2022-12-08 10:40:53 258

原创 JAVA SCRIPT设计模式--结构型--设计模式之Bridge桥接模式(7)

定义抽象类的接口。维护一个指向Implementor类型对象的指针。扩充由Abstraction定义的接口。定义抽象类的接口。维护一个指向Implementor类型对象的指针。windowImp;}}console.log(` Window 的DrawRect方法 `);}}扩充由Abstraction定义的接口。}}}

2022-12-07 16:31:44 231

原创 JAVA SCRIPT设计模式--结构型--设计模式之ADAPTER适配器(6)

我们可以不用上面的方法,而定义一个TextShape类,由它来适配TextView的接口和Shape的接口。我们可以用两种方法做这件事:1)继承Shape类的接口和TextView的实现,或2)将一个TextView实例作为TextShape的组成部分,并且使用TextView的接口实现TextShape。图形对象的接口由一个称为Shape的抽象类定义。我们可以实现TextShape类的CreateManipulator操作,从而增加这个缺少的功能,这个操作返回相应的Manipulator子类的一个实例。

2022-12-07 16:29:31 372

原创 JAVA SCRIPT设计模式--创建型设计模式之生成器(2)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能,所以不可能像C++,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVA SCRIPT代码,代码只是实现了设计模式的主体功能,不代表全部的正确,特此声明。若读者需要了解设计模式目录、原则、设计变化方向,环境相关等信息请查看设计模式开篇。参与者: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 一个RTF(Rich Text Format)

2022-12-07 16:23:42 278

原创 JAVA SCRIPT设计模式--创建型设计模式之单例模式(5)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能,所以不可能像C++,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVA SCRIPT代码,代码只是实现了设计模式的主体功能,不代表全部的正确,特此声明。若读者需要了解设计模式目录、原则、设计变化方向,环境相关等信息请查看设计模式开篇。参与者: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 对唯一实例的受控访问。 饿汉式/懒汉式 多线

2022-12-07 16:14:18 126

原创 JAVA SCRIPT设计模式--创建型设计模式之原型模式(4)

我们可以为每一种音乐对象创建一个GraphicTool的子类,但这样会产生大量的子类,这些子类仅仅在它们所初始化的音乐对象的类别上有所不同。解决办法是让GraphicTool通过拷贝或者“克隆”一个Graphic子类的实例来创建新的Graphic,我们称这个实例为一个原型。比如你想构建一个拥有通用架构的音乐编辑器 ,该编辑器架构可以图形编辑,也可以增加一些表示音符、休止符和五线谱的新对象。此外,为定义选择板中的那些工具,还提供一个。从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。

2022-12-07 16:12:37 301

原创 JAVA SCRIPT设计模式--创建型设计模式之工厂方法(3)

这些对象的创建通常也由框架负责。这两个类都是抽象的,客户必须通过它们的子类来做与具体应用相关的实现。一旦一个Application子类实例化以后,它就可以实例化与应用相关的文档,而无需知道这些文档的类。因为被实例化的特定Document子类是与特定应用相关的,所以Application类不可能预测到哪个Document子类将被实例化—Application类仅知道一个新的文档何时应被创建,而不知道哪一种Document将被创建。这就产生了一个尴尬的局面:框架必须实例化类,但是它只知道不能被实例化的抽象类。

2022-12-07 16:09:54 184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除