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

[原创]java开发实现word在线编辑及流转的更多相关文章

  1. [转载]java开发实现word在线编辑及流转

    OA公文流转系统主要用于处理企业日常工作中内外部的各种公文,包括了公文的拟稿.审批.传阅.公告.归档,多层上级可以对下级撰写的公文进行逐级审批或修改,待最高级人员确认无误后即可进行核稿和发文等操作,最 ...

  2. [原创]Java开发在线打开编辑保存Word文件(支持多浏览器)

    Java调用PageOffice实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 1. 下载PageOffice开发包:http://www.zhuo ...

  3. word在线编辑\生成图片(包含截图与合并)

    1.业务原因 word编辑后的文章复制到html编辑器(fck等)会发生排版错乱的情况,于是混沌了.需要有一个新的方法来终结,于是产生了word能不能在线编辑,后台保存,前台显示灯一系列问题. 2.首 ...

  4. java 网站源码 在线编辑模版 代码编辑器 兼容手机平板PC freemaker 静态引擎

    前台: 支持四套模版, 可以在后台切换   系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以 ...

  5. Java开发常用的在线工具

    原文出处: hollischuang(@Hollis_Chuang) 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中 ...

  6. [开发工具]Java开发常用的在线工具

    注明: 本文转自http://www.hollischuang.com/archives/1459.作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工 ...

  7. 《ArcGIS Runtime SDK for .NET开发笔记》--在线编辑

    介绍 ArcGIS可以发布具有编辑功能的Feature Service.利用Feature Service我们可以实现对数据的在线编辑. 数据制作参考: https://server.arcgis.c ...

  8. [原创]Java开发在线编辑Word同时实现全文检索

    一.背景介绍 Word文档与日常办公密不可分,在实际应用中,当某一文档服务器中有很多Word文档,假如有成千上万个文档时,用户查找打开包含某些指定关键字的文档就变得很困难,一般情况下能想到的解决方案是 ...

  9. [原创]Java开发如何在线打开Word文件

    此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...

随机推荐

  1. apue学习笔记(第十三章 守护进程)

    本章将说明守护进程结构,以及如何编写守护进程程序. 守护进程,也就是通常说的Daemon进程,是Unix中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理 ...

  2. 【Python】Python中in与not in

    在python中,要判断特定的值是否存在列表中,可使用关键字in,判断特定的值不存在列表中,可使用关键字not in letters = ['A','B','C','D','E','F','G'] i ...

  3. HTML5 Support In Visual Studio 2010

    最近HTML5浪潮已经开始了,VS2010已经有一个扩展支持在HTML5智能提示.你可以从这里下载这个扩展: http://visualstudiogallery.msdn.microsoft.com ...

  4. iOS常用的加密方式

    MD5 iOS代码加密 创建MD5类,代码如下 #import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSStri ...

  5. SQLSERVER 2008 链接 到 ORACLE 11

    MSSQL2008R2 链接 ORACLE 11: 创建链接: exec sp_addlinkedserver 'DBLINK_ORACL' , 'ORACLE' , 'MSDAORA' , 'ORC ...

  6. 26最小公倍数 lowest common multiple

    题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. 输入描述:输入两个正整数A和B. 输出描述:输出A和B的最小公倍数. 输入例子 ...

  7. HDU 2242 考研路茫茫——空调教室(边双连通)

    HDU 2242 考研路茫茫--空调教室 题目链接 思路:求边双连通分量.然后进行缩点,点权为双连通分支的点权之和,缩点完变成一棵树,然后在树上dfs一遍就能得出答案 代码: #include < ...

  8. 常见的CPU訪问引起的内存保护问题为什么仅仅用event_122上报 - 举例2

    还有一个样例.通过以下的log看,CPU在訪问reserved的地址0x53611EFD.非法訪问时该地址会在L1D内存控制器的L1DMPFSR寄存器中记录. ** FATAL EXCEPTION N ...

  9. linux下性能监控工具

    一.  Linux 性能监控的概述 系统由若干子系统构成,通常改动一个子系统有可能影响到另外一个子系统.甚至会导致整个系统不稳定.崩溃. 所以说优化.监測.測试一般是连在一起的,并且是一个循环并且长期 ...

  10. Fragment小结

    Fragment是Android3.0之后增加的新特性,通常人们叫它碎片.可是,我认为把它理解成一个View模块比較好,尽管它不是继承自View.假设阅读过源代码就知道它是内置View对象从而实现Vi ...