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