[原创]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

posted @ 2018-05-08 14:44  大方无隅  阅读(8132)  评论(1编辑  收藏  举报