[轉載]java開發實現word在線編輯及流轉

OA公文流轉系統主要用於處理企業日常工作中內外部的各種公文,包括了公文的擬稿、審批、傳閱、公告、歸檔,多層上級可以對下級撰寫的公文進行逐級審批或修改,待最高級人員確認無誤後即可進行核稿和發文等操作,最後在相關人員中傳閱。根據文檔在OA系統及其它辦公系統的中的流轉方式,PageOffice組件提供了文檔流轉的各個環節對應的文件打開模式及相關實用功能,以便於更好地實現OA系統的需求。下面我們詳細論述PageOffice在OA系統中的主要使用方式。

一.文檔在OA系統中的簡略流程

  

二.文檔流轉的各個環節的詳細論述

  1. 起草文檔:

       一般文檔流轉的第一個環節就是起草文檔,在此環節文員需要自由編輯文檔而不用留下任何痕跡,所以PageOffice爲了這個環節開發出來了文檔的普通編輯模式(docNormalEdit)。在這個模式下文員可以自由編輯文檔內容,並不會留下任何痕跡。

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.webOpen(filePath, OpenModeType.docNormalEdit, userName);

  2. 領導批閱

      一般文檔流轉的過程中各個階層的領導都會對文員在第一步中起草的文檔進行修改,添加批註等操作,這時對文檔所做的任何修訂都必須以痕跡的形式保留下來,以便於更高層的領導進行審覈,所以PageOffice開發出來了文檔的強制留痕模式(docRevisionOnly)。在這種模式下,用戶對文檔做的任何修訂都會被記錄下來;不同用戶對文檔做的修訂會自動用不同的顏色標記; 用戶不能接受、拒絕其他用戶對此文檔所做的任何修訂;修訂記錄能夠顯示修訂者的名字,修訂時間及修訂內容。

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.webOpen(filePath, OpenModeType.docRevisionOnly, userName);

  3. 文員清稿

     在這一環節,文員將對文檔進行清稿工作,包括拒絕或者接受修訂,清除文檔的所有痕跡及手寫內容(對文檔進行電子簽章的環節一般也是使用此模式打開文件的),所以這一環節將用到PageOffice的核稿模式(docAdmin),在這種模式下, 用戶能夠清理文檔流轉過程中留下的各種修訂、修改、批註及手寫批註;用戶可以顯示或隱藏修訂痕跡;用戶可以自由編輯文檔而不會留下任何痕跡記錄;用戶還可以移動、刪除任何人的手寫批註。

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.webOpen(filePath, OpenModeType.docAdmin, userName);

  4. 正式發文

      一般文檔流轉的最後一個環節就是正式發文環節,在這一個環節,不需要用戶再對文檔做任何修改,所以就用到了PageOffice的只讀模式(docRealOnly)打開文檔, 在該模式下用戶只能閱讀文檔內容,不能對文檔做任何修改。如果配合 PageOffice的禁止複製、禁止另存、禁止打印等功能,還可以實現安全的文檔在線瀏覽功能。

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.webOpen(filePath, OpenModeType.docReadOnly, userName);

三.其他相關功能

  1. 顯示隱藏痕跡:(痕跡一般指的是鍵盤批註和留痕模式用戶刪除或插入的文檔內容,這些統稱爲痕跡,不包含手寫批註)

    document.getElementById("PageOfficeCtrl1").ShowRevisions = false|true;

  2. 領導圈閱,手寫批註:

    document.getElementById("PageOfficeCtrl1").HandDraw.Start();

  3. 分層顯示手寫批註:

    document.getElementById("PageOfficeCtrl1").HandDraw.ShowLayerBar();

  4. 插入鍵盤批註:

    document.getElementById("PageOfficeCtrl1").WordInsertComment();

  5. 接受所有修訂:

    document.getElementById("PageOfficeCtrl1").AcceptAllRevisions();

  6. 拒絕所有修訂:

    document.getElementById("PageOfficeCtrl1").Document.RejectAllRevisions();

  7. 插入印章:

    document.getElementById("PageOfficeCtrl1").ZoomSeal .AddSeal();

  8. 插入手寫簽名章:

    document.getElementById("PageOfficeCtrl1").ZoomSeal. AddHandSign();

  9. 另存HTML:

    document.getElementById("PageOfficeCtrl1").WebSaveAsHTML();

  10. 另存PDF:

    document.getElementById("PageOfficeCtrl1").WebSaveAsPDF();

四.總結

  綜上所述,PageOffice針對文檔在OA辦公系統或其他文檔辦公系統中不同流程環節的特點,開發了對應的模式,還提供了顯示隱藏痕跡、手寫批註、分層顯示手寫、簽字蓋章、另存控制、保存控制等各種功能,使得開發人員只需關注自身系統的業務邏輯開發,很簡單方便的利用PageOffice實現不同流程環節下的控制和功能,代碼清晰明瞭,極大的節省了系統的開發時間,提高開發工作效率。

五.源碼下載

  https://download.csdn.net/download/zi_wu_xian/10400267

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章