用 pageoffice 實現 pdf 文件簽字蓋章


電子簽名/簽章的使用場景有哪些?

  • 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方法
function InsertSeal() {
        try {
            document.getElementById("PDFCtrl1").ZoomSeal.AddSeal();//如果使用ZoomSeal中的USBKEY方式蓋章,第一個參數不能為蓋章用戶登錄名,只能為null或者空字符串
        } catch(e) {}
    }
//簽字的js 方法
function AddHandSign() {
        try {
        
            document.getElementById("PDFCtrl1").ZoomSeal.AddHandSign();
        } catch(e) {}
    }

具體實現過程

(1)先准備一個 test.pdf 文件,d 盤下。(注意 : 本文中的磁盤路徑都是服務器上的路徑)

(2)打開pdf文件,簽字 蓋章  openPDF.jsp

<%@ page language="java" import="com.zhuozhengsoft.pageoffice.PDFCtrl" pageEncoding="utf-8" %>
<%
    PDFCtrl pdfCtrl1 = new PDFCtrl(request);
    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");
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body style="overflow:hidden">
<!--**************   卓正 PageOffice 客戶端代碼開始    ************************-->
<script language="javascript" type="text/javascript">
    function Save() {
        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();
    }
</script>
<div style="height:850px;width:auto;">
    <%=pdfCtrl1.getHtmlCode("PDFCtrl1")%>
</div>
</body>
</html>

(3)保存 SaveFile.jsp

FileSaver fs=new FileSaver(request,response);
fs.saveToFile(d:\\test.pdf);
fs.close();

3:實現效果

注意:一定要用pageoffice 5 版本才可以支持 pdf 蓋章

也可以直接從卓正的官網下載示例參考試用 

http://www.zhuozhengsoft.com/dowm/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM