## PDF盖章
### **一、电子签章的作用**
对文档进行数字签名与签署纸质文档的原因大致相同,数字签名通过使用计算机加密来验证 (身份验证:验证人员和产品所声明的身份是否属实的过程。例如,通过验证用于签名代码的数字签名来确认软件发行商的代码来源和完整性。)数字信息,如文档、电子邮件和宏。数字签名有助于确保:真实性,完整性,不可否认性。我司电子签章采用自主知识产权的核心智能识别验证技术,确保文档安全可靠。采用 COM、ActiveX嵌入式技术开发,确保软件能够支持多种应用。遵循《中华人民共和国电子签名法》关于电子签名的规范,同时支持国际通用的 RSA算法,符合国家安全标准。
### **二、Word盖章和PDF盖章的区别**
Word盖章和PDF盖章作用大致相同,都是想要通过电子印章保证文档使得文档防篡改,防伪造等,同时保证:真实性,完整性,不可否认性。但是Word文档属于流式文档,流式文件支持编辑,其内容是流动的,中间键入新内容将导致后面的内容“流”到下一行或下一页去。流式文件在不同的软硬件环境中,显示效果是会发生变化的,比如同一个Word文档,在不同版本的Office软件中或者不同分辨率的电脑上,显示效果都是有所不同的,也就是“跑版”现象。所以,流式文件不适合做内容高度严肃、版面高度精确的文档的载体,如电子公文、电子证照、电子凭据等,流式文件中盖章当然也会有这些问题产生。PDF文件就是属于版式文件,版式文档不会“跑版”,在任何设备上显示和打印效果是高度精确一致的。版式文件形成后,不可编辑和篡改正文,只能在其上附加注释印章等信息。所以,版式文档非常适合做高度严肃、版面高度精确的文档的载体,如电子公文、电子证照、电子凭据等。因此电子印章更适用于PDF这种版式文件。
### **三、PDF盖章的具体使用**
#### **1.PC端盖章**
盖章时使用的印章主要来自PageOffice自带简易印章管理平台(*注:PageOffice简易印章平台的具体使用请参考”简易电子签章平台“等相关文件;PageOffice简易印章平台的章不含数字签名*)或我司“ZoomSeal电子签章系统V5”(*注:ZoomSeal电子签章平台的集成请参考具体"ZoomSeal电子签章系统V5"的相关文件*)产品中的章。在对应的平台添加好印章后,通过PageOffice打开PDF文件并通过JS接口调用盖章功能。
>[info]JAVA代码:
```java
PDFCtrl pdfCtrl1 = new PDFCtrl(request);
pdfCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
// Create custom toolbar
pdfCtrl1.addCustomToolButton("保存", "Save()", 1);
pdfCtrl1.addCustomToolButton("打印", "PrintFile()", 6);
pdfCtrl1.addCustomToolButton("盖章", "InsertSeal()", 2);
pdfCtrl1.webOpen("doc/test.pdf");
```
>[info]ASP.NET代码:
~~~asp.net
// 按键说明:光标键、Home、End、PageUp、PageDown可用来移动或翻页;数字键盘+、-用来放大缩小;数字键盘/、*用来旋转页面。
PDFCtrl1.ServerPage = Request.ApplicationPath + "poserver.aspx";
PDFCtrl1.Theme = PageOffice.ThemeType.Office2007;
PDFCtrl1.AddCustomToolButton("保存", "Save()", 1);
PDFCtrl1.AddCustomToolButton("盖章", "InsertSeal()", 2);
PDFCtrl1.AddCustomToolButton("打印", "PrintFile()", 6);
PDFCtrl1.SaveFilePage = "SaveFile.aspx";
PDFCtrl1.WebOpen("test.pdf");
~~~
>[info]JS代码:
```JavaScript
function InsertSeal() {
try {
document.getElementById("PDFCtrl1").ZoomSeal.AddSeal();//如果使用ZoomSeal中的USBKEY方式盖章,第一个参数不能为盖章用户登录名,只能为null或者空字符串
} catch (e) { }
}
```
盖章效果图:

#### **2.移动端盖章**
移动端PDF文件盖章的原理和PC端PDF文件盖章的原理类似,印章也是来源于PageOffice自带的简易印章管理平台(*注:PageOffice简易印章管理平台的章不含数字签名*)或”ZoomSeal电子签章系统V5“,通过MobOffice接口以只读方式打开PDF文件直接点击盖章按钮进行盖章。
>[info]JAVA代码:
```
MobOfficeCtrl mobCtrl = new MobOfficeCtrl(request,response);
mobCtrl.setSysPath(moblicpath);
mobCtrl.setServerPage("/mobserver.zz");
//mobCtrl.setZoomSealServer("http://xxx.xxx.xxx.xxx:8080/ZoomSealEnt/enserver.zz");//连接zoomseal电子签章系统
mobCtrl.setSaveFilePage("/mobile/savedoc?testid="+Math.random());
mobCtrl.webOpen("test.pdf", OpenModeType.pdfReadOnly , userName);
```
盖章效果图:

>[info]
>补充:支持PC端和移动端对文档审批和盖章的互认。(目前移动端仅支持Android)
- 序言
- 产品简介
- PageOffice试用版和和正式版的区别
- PageOffice对客户端的要求
- PageOffice客户端安装步骤
- PageOffice常用功能与工作原理
- OA系统中的文档在线编辑及流转
- 痕迹保留、键盘批注、手写批注
- 文件并发控制功能
- 与数据库的关系
- SaveDataPage和SaveFilePage的区别
- 调用ZoomSeal签章系统中的印章
- 使用RunMacro运行Office的宏
- 为什么采用弹窗方式打开文件
- POBrowser弹窗方式的具体使用
- Word篇
- 常用接口对象
- WordDocument类
- DataRegion类
- DataTag类
- Paragraph类
- Shape类
- Table类
- Column类
- Row类
- Cell类
- WaterMark类
- DataRegion与DataTag的区别
- 编辑模板中的数据区域
- 动态填充Word文档
- 动态插入Word表格
- 动态创建数据区域
- 数据区域点击事件
- 实现Word文档编辑区域控制
- Word文档全文检索
- Word文件版本对比功能
- 实现用户自定义Word模板
- 实现多个Word文件合并
- Excel篇
- 常用接口对象
- Workbook类
- Sheet类
- Table类
- Cell类
- 动态填充Excel文档
- Excel指定单元格点击事件
- 实现用户自定义Excel模板
- 读取Excel文档中的数据
- 隐藏Excel的行号列标
- Java篇
- PageOffice集成说明
- 动态生成Word文件
- 给Word中的Table赋值
- 动态生成Excel文件
- Maven项目中引用PageOffice
- FileMaker组件功能简介
- ASP.NET篇
- PageOffice集成说明
- 给Word中的Table赋值
- 动态生成Word文档
- FileMaker组件功能简介
- 其他
- POPDF组件功能简介
- PPT相关功能简介
- 实现多人同时编辑一份文档
- PageOffice与Apache POI的区别
- 如何录制宏和编辑宏
- PDF篇
- PDF盖章