java实现word分配任务并合成的代码_java 实现word文档的在线签批圈阅(手写批注)...

本文主要是介绍java实现word分配任务并合成的代码_java 实现word文档的在线签批圈阅(手写批注)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、介绍

目前,我国加大了对电子政务的推广力度。信息管理软件技术因此被广泛应用,如:大家所熟悉的办公自动化(OA)、工作流管理、人事、资源管理等。这样的系统有一个共同点,。如果一项任务需要负责人,或需要相关人员签阅、修改、批复,或多人签阅、批注,一般的办公流程所提供的解决方案会让用户感到难以操作。特别是领导们很难参与使用。人们感叹:打印的纸张反而更多了,成本反而增加了!所以,真正的科学办公流程是需要由不同环节的人参与并协作快捷地完成的。在实际应用中,领导,或相关负责人需要对政务性文档进行手迹批注、圈阅、签字生效等这些很自然的现实问题,这就必然在线手写批注的技术来真正实现无纸化办公。

二、方案

pageoffice 的手写批注功能实现在线给 word 文档圈阅、签批。

三、核心代码

49dc792bcaafd8e0e268b20bc01dee8d.png

四:具体的实现过程

import="java.util.*,com.zhuozhengsoft.pageoffice.*"

pageEncoding="utf-8"%>

//******************************卓正PageOffice组件的使用*******************************

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);

poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须

//隐藏菜单栏

poCtrl1.setMenubar(false);

//添加自定义按钮

poCtrl1.addCustomToolButton("保存","Save()",1);

poCtrl1.addCustomToolButton("开始手写", "StartHandDraw()", 5);

poCtrl1.addCustomToolButton("设置线宽", "SetPenWidth()", 5);

poCtrl1.addCustomToolButton("设置颜色", "SetPenColor()", 5);

poCtrl1.addCustomToolButton("设置笔型", "SetPenType()", 5);

poCtrl1.addCustomToolButton("设置缩放", "SetPenZoom()", 5);

poCtrl1.addCustomToolButton("访问手写集", "GetHandDrawList()", 6);

poCtrl1.setSaveFilePage("SaveFile.jsp");

poCtrl1.webOpen("doc/template.doc", OpenModeType.docNormalEdit, "张三");

%>

//保存

function Save() {

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

}

//开始手写

function StartHandDraw() {

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

}

//设置线宽

function SetPenWidth() {

document.getElementById("PageOfficeCtrl1").HandDraw.SetPenWidth(5);

}

//设置颜色

function SetPenColor() {

document.getElementById("PageOfficeCtrl1").HandDraw.SetPenColor(5292104);

}

//设置笔型

function SetPenType() {

document.getElementById("PageOfficeCtrl1").HandDraw.SetPenType(1);

}

//设置缩放

function SetPenZoom() {

document.getElementById("PageOfficeCtrl1").HandDraw.SetPenZoom(50);

}

//撤销最近一次手写

function UndoHandDraw() {

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

}

//退出手写

function ExitHandDraw() {

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

}

//访问手写集合

function GetHandDrawList() {

var handDrawList = null;

var handDraw = null;

handDrawList = document.getElementById("PageOfficeCtrl1").HandDraw;

handDrawList.Refresh();

document.getElementById("PageOfficeCtrl1").Alert("本文档共有 " + handDrawList.Count + " 个手写批示。");

var i = 0; //索引从0开始

for (i = 0; i < handDrawList.Count; i++) {

handDraw = handDrawList.Item(i);

handDraw.Locate();

document.getElementById("PageOfficeCtrl1").Alert("第" + handDraw.PageNumber + "页" + ", " + handDraw.UserName + ", " + handDraw.DateTime);

}

}

五:最终效果

675bbd49ff7cf6a11f3455b925042762.png

操作说明:若想提前设置线宽、颜色、笔型、缩放等,可先点击自定义工具栏上的相应按钮,然后点击“开始手写”按钮。在尚未关闭手写工具栏时,点“撤销最近一次手写”按钮,可撤销最近一次的手写;点击“退出手写”按钮,可退出手写;还可点“设置线宽”、“设置颜色”等按钮对手写批注的颜色、线宽等进行再次设置。

六、注意事项

参考里面的Samples示例,

0a7ea4a1292bb5eda16b21d4f004c25b.png

这篇关于java实现word分配任务并合成的代码_java 实现word文档的在线签批圈阅(手写批注)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/282786

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu