国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 pdf 文件并实现签字盖章
PageOffice 国产版 :支持信创系统,支持银河麒麟 V10 和统信 UOS,支持 X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。
查看本示例演示效果
本示例关键代码的编写位置
Vue+Springboot
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
PageOffice 支持两种电子印章方案,可实现对 Word、Excel、PDF 文档加盖 PageOffice 自带印章或 ZoomSeal 电子印章(全方位保护、防篡改、防伪造)。Word 和 Excel 的盖章功能请参考:Word 和 Excel 加盖印章和签字功能
-
简易印章管理平台。PageOffice 内置了简易印章管理平台功能,也称为自带电子印章,通过自带的简易印章管理平台可对印章进行基本的增删改管理。PageOffice 标准版赠送 10 个印章,专业版赠送 20 个印章,企业版赠送 100 个印章。超出赠送数量的部分可以单独购买。自带印章功能简单,不带数字证书,在无需电子签名法效力的情况下使用。部署、使用简单灵活,安全性一般,适用于要求不高的场合。
-
ZoomSeal 电子印章。这是卓正软件另一款独立软件,完全自主研发的新一代签章技术,采用和银行 U 盾一样的数字签名技术,安全可靠。大大的提高了电子签章的安全性。ZoomSeal 产品通过了国家软件测试中心、公安部安全检测中心等部门检测,具有软件著作权证、公安部销售许可证等权威资质。带国家认证权威 CA 数字证书,符合国家电子签名法。如需咨询,请拨打卓正软件官方客服电话 400-6600-770,或者加官方 QQ 公众号 800038353。
PageOffice 自带印章与 ZoomSeal 电子印章的区别在于前者没有使用数字证书对文件做数字签名保护,但 PageOffice 集成调用两种印章接口的代码是完全相同的,本文以 PageOffice 自带印章为例。
简易印章管理平台
管理员可以通过/loginseal.zz地址访问已经在 PageOffice 程序包中封装好的“简易印章管理平台”,直接输入 admin 的密码登录(默认密码:111111 或 123456,登录密码可由开发人员配置),平台的常见操作有查看、添加和删除印章。通常情况下,由 Web 系统管理员登录平台为指定用户添加或删除印章,给用户添加完印章后,用户就可以在 PageOffice 打开文件的页面对文档进行盖章、删除印章、修改密码、验证文档等操作。
服务器端配置
启用“简易印章管理平台”,如同配置 PageOffice 的服务器端授权程序一样(比如:Java 开发的 servlet 配置 poserver.zz),使用 PageOffice 自带印章功能,也需要添加类似的配置。
@Value("${popassword}")
private String poPassword;
<span class="hljs-comment">/**
* 添加印章管理程序Servlet
* <span class="hljs-doctag">@return</span>
*/</span>
<span class="hljs-meta">@Bean</span>
<span class="hljs-keyword">public</span> ServletRegistrationBean <span class="hljs-title function_">zoomsealRegistrationBean</span><span class="hljs-params">()</span> <span class="hljs-keyword">throws</span> FileNotFoundException {
com.zhuozhengsoft.pageoffice.poserver.<span class="hljs-type">AdminSeal</span> <span class="hljs-variable">adminSeal</span>
<span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">com</span>.zhuozhengsoft.pageoffice.poserver.AdminSeal();
adminSeal.setAdminPassword(poPassword);<span class="hljs-comment">//设置印章管理员admin的登录密码</span>
<span class="hljs-comment">//设置印章数据库文件poseal.db存放的目录</span>
adminSeal.setSysPath(poSysPath);
<span class="hljs-type">ServletRegistrationBean</span> <span class="hljs-variable">srb</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">ServletRegistrationBean</span>(adminSeal);
srb.addUrlMappings(<span class="hljs-string">"/adminseal.zz"</span>);
srb.addUrlMappings(<span class="hljs-string">"/sealimage.zz"</span>);
srb.addUrlMappings(<span class="hljs-string">"/loginseal.zz"</span>);
<span class="hljs-keyword">return</span> srb;
}
运行效果
访问上面配置的简易印章管理平台地址 /loginseal.zz,就会看到下面的登录界面
输入 admin 的密码登录(默认密码:111111 或 123456,登录密码可由开发人员配置),登录后就可以对印章进行基本的增删改管理。
测试账号
用户名:李志
密码:111111 或 123456
后端代码
- 简易印章管理平台。无需编写后端代码。
- ZoomSeal 电子印章。需要在线打开文件之前给 PDFCtrl 对象的 ZoomSealServer 属性赋值指向 ZoomSeal 电子印章的服务地址 Url。
PDFCtrl pdfCtrl = new PDFCtrl(request);
// 比如:设置为卓正云签的测试地址
pdfCtrl.setZoomSealServer("https://test.zoomseal.cn/ZoomSealCloudMain/clserver.zz");
前端代码
开发人员在集成 PageOffice 打开文件的页面添加自定义按钮,比如盖章、签字、验证印章等按钮,自定义按钮所需要执行的 js 代码如下:
// 加盖印章
pdfctrl.zoomseal.AddSeal();
// 加盖手写签字
pdfctrl.zoomseal.AddHandSign();
// 删除印章
pdfctrl.zoomseal.Item(index).DeleteLastSeal(); //index 从 0 开始
// 验证印章
pdfctrl.zoomseal.VerifySeal();
// 修改密码
pdfctrl.zoomseal.ShowSettingsBox();
参考链接:加盖印章和签字功能