电子签名/签章的使用场景有哪些?
1、 电子报告
2、 证书电子版固化
3、 企业工作流审批
4、 电商订单存证
5、 系统单据保全
为什么要在pdf 文件上盖章?
在很多合同签订的过程中,很多人直接将公司的公章扫描成图片格式,比如 jpeg bmp gif 等等,然后在插入 word 或者 excel 中,这样操作极大增加了安全隐患,因为图片格式的公章很容易被复制到其他的文档中。
PDF 作为一种版式文档,版面固定、不跑版,使电子文档在使用过程中,呈现效果不因软硬件环境、操作者的变化而变化,在版式、版面、字体、字号等方面与纸质文件保持完全一致。是目前比较安全的文件格式。
所以今天给大家分享一个 给pdf 文档在线盖章的方法。pageoffice 实现pdf 文件的签字盖章
1:生成 pdf 电子文件的方法
(1)纸质文件扫描成pdf 文件
(2)pageoffice 在线把 word 或者 excel 文件转换 成pdf 文件(可以参考一下这个篇文章https://my.oschina.net/u/3507515/blog/1810161)
2:盖章
(核心代码)
//添加盖章的自定义按钮
pdfCtrl.addCustomToolButton("加盖印章", "InsertSeal()", 2);//添加签字的自定义按钮
pdfCtrl.addCustomToolButton("签字", "AddHandSign()", 3);
//盖章的js方法
functionInsertSeal() {try{
document.getElementById("PDFCtrl1").ZoomSeal.AddSeal();//如果使用ZoomSeal中的USBKEY方式盖章,第一个参数不能为盖章用户登录名,只能为null或者空字符串
} catch(e) {}
}//签字的js 方法
functionAddHandSign() {try{
document.getElementById("PDFCtrl1").ZoomSeal.AddHandSign();
}catch(e) {}
}
具体实现过程
(1)先准备一个 test.pdf 文件,d 盘下。(注意 : 本文中的磁盘路径都是服务器上的路径)
(2)打开pdf文件,签字 盖章 openPDF.jsp
pdfCtrl1.setServerPage(request.getContextPath()+ "/poserver.zz"); //此行必须//设置保存页面
pdfCtrl1.setSaveFilePage("SaveFile.jsp");//Create custom toolbar
pdfCtrl1.addCustomToolButton("保存", "Save()", 1);
pdfCtrl1.addCustomToolButton("加盖印章", "InsertSeal()", 2);
pdfCtrl1.addCustomToolButton("签字", "AddHandSign()", 3);
pdfCtrl1.addCustomToolButton("打印", "PrintFile()", 6);
pdfCtrl1.addCustomToolButton("隐藏/显示书签", "SetBookmarks()", 0);
pdfCtrl1.addCustomToolButton("-", "", 0);
pdfCtrl1.addCustomToolButton("实际大小", "SetPageReal()", 16);
pdfCtrl1.addCustomToolButton("适合页面", "SetPageFit()", 17);
pdfCtrl1.addCustomToolButton("适合宽度", "SetPageWidth()", 18);
pdfCtrl1.addCustomToolButton("-", "", 0);
pdfCtrl1.addCustomToolButton("首页", "FirstPage()", 8);
pdfCtrl1.addCustomToolButton("上一页", "PreviousPage()", 9);
pdfCtrl1.addCustomToolButton("下一页", "NextPage()", 10);
pdfCtrl1.addCustomToolButton("尾页", "LastPage()", 11);
pdfCtrl1.addCustomToolButton("-", "", 0);
pdfCtrl1.addCustomToolButton("向左旋转90度", "SetRotateLeft()", 12);
pdfCtrl1.addCustomToolButton("向右旋转90度", "SetRotateRight()", 13);
pdfCtrl1.webOpen("d:\\test.pdf");%>
document.getElementById("PDFCtrl1").WebSave();
}
function InsertSeal() {try{
document.getElementById("PDFCtrl1").ZoomSeal.AddSeal();//如果使用ZoomSeal中的USBKEY方式盖章,第一个参数不能为盖章用户登录名,只能为null或者空字符串
} catch(e) {}
}
function AddHandSign() {try{//document.getElementById("PDFCtrl1").ZoomSeal.SetPenWidth(3);//document.getElementById("PDFCtrl1").ZoomSeal.SetPenColor(0*65535+0*255+255);
document.getElementById("PDFCtrl1").ZoomSeal.AddHandSign();
}catch(e) {}
}
function AfterDocumentOpened() {//alert(document.getElementById("PDFCtrl1").Caption);
}
function SetBookmarks() {
document.getElementById("PDFCtrl1").BookmarksVisible = !document.getElementById("PDFCtrl1").BookmarksVisible;
}
function PrintFile() {
document.getElementById("PDFCtrl1").ShowDialog(4);
}
function SwitchFullScreen() {
document.getElementById("PDFCtrl1").FullScreen = !document.getElementById("PDFCtrl1").FullScreen;
}
function SetPageReal() {
document.getElementById("PDFCtrl1").SetPageFit(1);
}
function SetPageFit() {
document.getElementById("PDFCtrl1").SetPageFit(2);
}
function SetPageWidth() {
document.getElementById("PDFCtrl1").SetPageFit(3);
}
function ZoomIn() {
document.getElementById("PDFCtrl1").ZoomIn();
}
function ZoomOut() {
document.getElementById("PDFCtrl1").ZoomOut();
}
function FirstPage() {
document.getElementById("PDFCtrl1").GoToFirstPage();
}
function PreviousPage() {
document.getElementById("PDFCtrl1").GoToPreviousPage();
}
function NextPage() {
document.getElementById("PDFCtrl1").GoToNextPage();
}
function LastPage() {
document.getElementById("PDFCtrl1").GoToLastPage();
}
function SetRotateRight() {
document.getElementById("PDFCtrl1").RotateRight();
}
function SetRotateLeft() {
document.getElementById("PDFCtrl1").RotateLeft();
}
(3)保存 SaveFile.jsp
FileSaver fs=newFileSaver(request,response);
fs.saveToFile(d:\\test.pdf);
fs.close();
3:实现效果
注意:一定要用pageoffice 5 版本才可以支持 pdf 盖章
也可以直接从卓正的官网下载示例参考试用