pageoffice 不允许编辑_pageoffice 编辑word图片大小不一致 - CSDN
精华内容
参与话题
  • 首先需要下载pageoffice的jar包,以及客户端的安装程序,如下图所示:      并且将这四个放在对应的lib目录下面,在web.xml中也要进行相应的添加,代码如下(一下所示的代码均来自于pageoffice官方代码,只是...

                   首先需要下载pageoffice的jar包,以及客户端的安装程序,如下图所示:

       

     

           并且将这四个放在对应的lib目录下面,在web.xml中也要进行相应的添加,代码如下(一下所示的代码均来自于pageoffice官方代码,只是补充了一些自己的见解):

                 

            

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    	xmlns="http://java.sun.com/xml/ns/javaee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      <filter>
      	<filter-name>struts2</filter-name>
      	<filter-class>
      		org.apache.struts2.dispatcher.FilterDispatcher
      	</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.action</url-pattern>
      </filter-mapping>
      <filter-mapping>
    	<filter-name>struts2</filter-name>
    	<url-pattern>*.jsp</url-pattern>
      </filter-mapping>
    
      <!-- PageOffice Begin -->
      <servlet>
        <servlet-name>poserver</servlet-name> 
        <servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server</servlet-class> 
      </servlet>
      <servlet-mapping> 
        <servlet-name>poserver</servlet-name> 
        <url-pattern>/poserver.do</url-pattern> 
      </servlet-mapping> 
      <servlet-mapping> 
    	<servlet-name>poserver</servlet-name> 
    	<url-pattern>/pageoffice.cab</url-pattern>
      </servlet-mapping>
      <servlet-mapping> 
    	<servlet-name>poserver</servlet-name> 
    	<url-pattern>/popdf.cab</url-pattern>
      </servlet-mapping>
      <servlet-mapping> 
    	<servlet-name>poserver</servlet-name> 
    	<url-pattern>/sealsetup.exe</url-pattern>
      </servlet-mapping>
        <servlet-mapping> 
    	<servlet-name>poserver</servlet-name> 
    	<url-pattern>/posetup.exe</url-pattern>
      </servlet-mapping>
      <servlet>
        <servlet-name>adminseal</servlet-name> 
        <servlet-class>com.zhuozhengsoft.pageoffice.poserver.AdminSeal</servlet-class> 
      </servlet>
      <servlet-mapping> 
        <servlet-name>adminseal</servlet-name> 
        <url-pattern>/adminseal.do</url-pattern> 
      </servlet-mapping>
      <servlet-mapping> 
        <servlet-name>adminseal</servlet-name> 
        <url-pattern>/loginseal.do</url-pattern>
      </servlet-mapping>
      <servlet-mapping> 
        <servlet-name>adminseal</servlet-name> 
        <url-pattern>/sealimage.do</url-pattern>
      </servlet-mapping>
      <mime-mapping>  
      	<extension>mht</extension>  
      	<mime-type>message/rfc822</mime-type>  
      </mime-mapping>
      <context-param>
      	<param-name>adminseal-password</param-name>
      	<param-value>123456</param-value>
      </context-param>
      
      <!--<context-param>
      	<param-name>posealdb-driver</param-name>
      	<param-value>com.mysql.jdbc.Driver</param-value>
      </context-param>
      <context-param>
      	<param-name>posealdb-url</param-name>
      	<param-value>jdbc:mysql://localhost:3306/sample</param-value>
      </context-param>
      <context-param>
      	<param-name>posealdb-username</param-name>
      	<param-value>root</param-value>
      </context-param>
      <context-param>
      	<param-name>posealdb-password</param-name>
      	<param-value>admin</param-value>
      </context-param>-->
      <!-- PageOffice End -->
    </web-app>
    

    在action的类中必须实现ServletRequestAware, ServletResponseAware两个接口,实现setServletRequest和setServletResponse方法,并且声明一个HttpServletRequest和HttpServletResponse和message(可写,返回客户端的消息),并且将声明的值注入到对应的set方法中


    利用pageoffice打开对应的文档的操作是:

    public String openword() throws Exception {
        	PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(ServletActionContext.getRequest());//获取pageoffice对象
        	poCtrl1.setServerPage("poserver.do"); //此行必须
        	// Create custom toolbar
        	poCtrl1.addCustomToolButton("保存", "SaveDocuments()", 1);//SaveDocuments与jsp页面中的js函数名字一致,数字代表的是对应的图标
        	poCtrl1.addCustomToolButton("-", "", 0);
        	poCtrl1.addCustomToolButton("打印", "ShowPrintDlg()", 6);
        	poCtrl1.addCustomToolButton("-", "", 0);
        	poCtrl1.addCustomToolButton("全屏切换", "SetFullScreen()", 4);
        	poCtrl1.addCustomToolButton("-", "", 0);
        	poCtrl1.addCustomToolButton("加盖印章", "AddSeal()", 5);
        	poCtrl1.addCustomToolButton("手写签批", "AddHandSign()", 5);
        	poCtrl1.addCustomToolButton("验证印章", "VerifySeal()", 5);
        	poCtrl1.setSaveFilePage("saveword.action");//保存需要执行的的action
        	poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");//需要打开的打开的文档
        	poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须和前端中的<po:PageOfficeCtrl id="PageOfficeCtrl1" />id保持一致
        	return "openword_"+SUCCESS;
        }


    利用pageoffice保存文档的操作是:

    public String saveword() throws Exception {
        	FileSaver fs = new FileSaver(request, response);
        	request.setAttribute("FileSaver", fs);//FileSaver位苦丁的字符串
        	fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/") + "/" + fs.getFileName());
        	fs.showPage(300, 300);
        	message = "结果保存成功!";
        	return "saveword_"+SUCCESS;
        }

    客户端的代码:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib uri="http://java.pageoffice.cn" prefix="po"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'editword.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body>
      <!--**************   卓正 PageOffice 客户端代码开始    ************************-->
    	<script language="javascript" type="text/javascript">
    	    function SaveDocuments() {
    	        document.getElementById("PageOfficeCtrl1").WebSave();
    	        //alert(document.getElementById("PageOfficeCtrl1").CustomSaveResult);
    	    }
    	    function ShowPrintDlg() {
    	        document.getElementById("PageOfficeCtrl1").ShowDialog(4);
    	    }
    	    function SetFullScreen() {
    	        document.getElementById("PageOfficeCtrl1").FullScreen = !document.getElementById("PageOfficeCtrl1").FullScreen;
    	    }
    	    function AddSeal() {
    	        document.getElementById("PageOfficeCtrl1").ZoomSeal.AddSeal();
    	    }
    	    function AddHandSign() {
    	        document.getElementById("PageOfficeCtrl1").ZoomSeal.AddHandSign();
    	    }
    	    function VerifySeal() {
    	        try
    	        {
    	            document.getElementById("PageOfficeCtrl1").ZoomSeal.VerifySeal();
    	        }
    	        catch(e)
    	        {
    	        }
    	    }
    	</script>
        <!--**************   卓正 PageOffice 客户端代码结束    ************************-->
       <!--  <div style="width:auto;height:200px;background-color: gray">
           
        </div> -->
        <div style="width:auto; height:600px;">
          <po:PageOfficeCtrl id="PageOfficeCtrl1" />
        </div>
      </body>
    </html>
    



    展开全文
  • WebOffice开发系列指南 WebOffice文档控件技术交流和版本发布 发表回复 17 篇帖子 • 分页: 1 / 2 • 1, 2 WebOffice开发系列指南 由 hangel » 2010-07-12 11:33 WebOffice开发系列01-自动下载安装...

    http://www.dianju.cn/forum/viewtopic.php?t=9249
    WebOffice开发系列指南

    WebOffice文档控件技术交流和版本发布

    发表回复

    17 篇帖子 • 分页: 1 / 2 1, 2

    WebOffice开发系列指南

    hangel » 2010-07-12 11:33

    WebOffice开发系列01-自动下载安装组件(B/S)
    WebOffice开发系列02-如何打开文件
    WebOffice开发系列03-修订留痕
    WebOffice开发系列04-安全控制 (防止复制、打印、保存)
    WebOffice开发系列05-菜单控制
    WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜色)
    WebOffice开发系列08-文件上传到服务器
    WebOffice开发系列09-其他功能-全屏-VBA


    webOffice
    控件自动下载是指在打开网页时,网页会自动把webOffice控件下载下来,从而可以将wordexcel嵌入到网页中。控件自动下载的相关代码如下:

    < object id=WebOffice height=768 width="100%"
    style="LEFT: 0px; TOP: 0px" classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5" codebase="../js/WebOffice1.ocx#version=6,0,4,0">
    <param name="_ExtentX" value="6350">
    <param name="_ExtentY" value="6350">
    </object>

    上面的脚本意思是: 自动更新classid= FF1FE7A0-0578-4FEE-A34E-FB21B277D561 COM组件,
    更新地址为 ../js/WebOffice1.ocxcodebase后的路径为相对路径也可为绝对路径,要更新的最新版本为6,0,4,0
    此时,IE会自动访问注册表,如果发现当前机器未安装或者当前版本低于6,0,4,0,就会自动下载。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列02-如何打开文件

    hangel » 2010-07-12 11:33

    单击打开文件按钮,可以在webOffice中打开文件,具体操作如图所示:

    1004291534911966484dcfde21.jpg


    打开文档的接口为LoadOriginalFile,其接口描述如下:
    原 型: long LoadOriginalFile(BSTR pcFileNameOrUrl, BSTR pcType);
    功 能:新建、装载Office文档

    参 数:
    pcFileNameOrUrl:
    要装载文件的本地路径或者URL,值为空表示新建文档,如果是在HttpWeb环境下,可以传相对路径.
    pcType:
    doc:
    打开、新建Word文件

    xls:
    打开、新建Excel文件
    ppt:
    打开、新建PPT 文件
    wps:
    打开、新建WPS 文件
    返回值
    :
    0:失败

    0:成功
    示 例:
    //
    通过URL打开一个服务器文件,getdoc.asp代码见演示文件
    document.all.WebOffice1.LoadOriginalFile("http://127.0.0.1/getdoc.asp?id=8", "doc");
    //
    通过URL打开一个服务器文件,相对路径
    document.all.WebOffice1.LoadOriginalFile("/getdoc.asp?id=8", "doc");
    document.all.WebOffice1.LoadOriginalFile("./getdoc.asp?id=8", "doc");
    //
    新建Excel
    document.all.WebOffice1.LoadOriginalFile("", "xls");
    ==================
    特别注意
    ===============================
    建议在NotifyCtrlReady 事件中调用 LoadOriginalFile 接口,否则有可能出现Word窗口脱离IE界面的问题。

    <SCRIPT language=javascript event=NotifyCtrlReady for=WebOffice1>
    /****************************************************
    *
    *
    在装载完Weboffice(执行<object>...</object>)
    *
    控件后执行 "WebOffice1_NotifyCtrlReady"方法

    *
    ****************************************************/

    WebOffice1_NotifyCtrlReady()
    </SCRIPT>

    WebOffice1_NotifyCtrlReady(){
    document.all.WebOffice1.LoadOriginalFile("", "doc");
    }

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列03-修订留痕

    hangel » 2010-07-12 11:38

    webOffice对文档的修订操作提供了丰富的接口,其接口为:document.all.WebOffice1.SetCurrUserName("user_name")
    文档操作的具体步骤如图所示,先以Test用户身份对文档进行编辑,如图所示:

    10042915368ed41a99e4cc92ba.jpg



    编辑完成上传后,其他用户如果想修订文档可以单击“修订文档”的按钮,接口为:
    //
    开始修订
    document.all.WebOffice1.SetTrackRevisions(1);
    //
    接受修订
    document.all.WebOffice1.SetTrackRevisions(4);
    编辑文档的时候字体会针对不同的用户显示不同的颜色,如下图所示:

    10042915369c8f50cabf3a5c18.jpg



    单击“显示修订”会显示所有其他用户的修改和删除的操作,单击“隐藏修订”时就会隐藏所有的修订,
    文档文字的颜色会变成同原文档的文字一样,而且删除的横线也会去掉,其接口如下:
    //
    隐藏修订
    document.all.WebOffice1.ShowRevisions(0);
    //
    隐藏修订
    document.all.WebOffice1.ShowRevisions(0);
    如下图所示:

    10042915369c8f50cabf3a5c18.jpg



    单击“接受所有修订”则文档的修订就会生效,否则单击“拒绝所有修订”文档的所有修订失效,文档内容和初稿内容一致。
    //
    接受当前所有修订信息
    document.all.WebOffice1.SetTrackRevisions(4);
    单击“获取修订信息”则会获取所有对文档进行修订的用户的相关信息及修订日期,接口描述如下:
    原 型: BSTR GetRevInfo(long lIndex, long lType);
    功 能:获取修订节点的信息(修订人,修订的时间,修订的动作)

    参 数:
    lIndex:
    修订的节点编号
    lType:
    获取的信息编号
    返回值
    :
    示 例:

    //1.
    获取修订的用户
    vUserName = document.all.WebOffice1.GetRevInfo(i,0);
    //2.
    获取修订的时间
    vDate = new String(document.all.WebOffice1.GetRevInfo(i,1));
    //3.
    获取修订的动作
    var vRet = document.all.WebOffice1.GetRevInfo(i,2);
    vRet == "1":
    表示"插入"的操作
    vRet == "2":
    表示"删除"的操作
    //4.
    获取修订的内容

    vUserName = document.all.WebOffice1.GetRevInfo(i,3);
    //
    总体的例子代码
    var vCount;
    vCount = document.all.WebOffice1.GetRevCount();
    var vOpt = 0;
    var vDate;
    for(var i=1; i<= vCount; i++){
    vOpt = document.all.WebOffice1.GetRevInfo(i,2);
    if("1" == vOpt){
    vOpt = "
    插入";
    }else if("2" == vOpt){
    vOpt = "
    删除
    ";
    }else{
    vOpt = "
    未知操作
    ";
    }
    vDate = new String(document.all.WebOffice1.GetRevInfo(i,1));
    vDate = parseFloat(vDate);
    dateObj = new Date(vDate);
    alert(dateObj.getYear() + "
    " + dateObj.getMonth() + 1 + "" + dateObj.getDate() +"" + dateObj.getHours() +"" + dateObj.getMinutes() +"" + dateObj.getSeconds() +"
    " );
    alert("
    用户:"+document.all.WebOffice1.GetRevInfo(i,0) + "\r\n操作:" + vOpt + "\r\n内容
    :" + document.all.WebOffice1.GetRevInfo(i,3));
    }

    100429153626ae947d8d6fde50.jpg

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列04-安全控制 (防止复制、打印、保存)

    hangel » 2010-07-12 11:41

    Weboffice可以对word文档实行全面的安全控制,增强了文档的安全性,用户在编辑文档后在输入框中输入密码,
    然后单击“保护文档”,上传保存后别的用户则无法对文档进行编辑,需要输入正确的密码后才可编辑,接口描述如下:
    原 型: long ProtectDoc(long lProOrUn, long lType, BSTR strPWD);
    功 能:文档保护

    参 数:
    lProOrUn

    1:为保护文档
    0:为解锁文档
    lType

    0 :文档保护,只允许修订
    1 :文档保护,只允许批注
    2 :文档完全保护,不允许任何操作
    strPWD
    :文档保护、解锁时所需设置的密码
    返回值:

    示 例:
    //
    保护文档,只允许修订
    document.all.WebOffice1.ProtectDoc(1, 0, "12345");
    //
    解锁文档
    document.all.WebOffice1.ProtectDoc(0, 0, "12345");
    如图所示:

    10042915390aef3d09dccc1c7f.jpg



    单击“禁止打印”可以防止非法用户对文档进行打印操作,单击“禁止复制”可以去掉word的复制粘贴功能,单击“允许复制”则恢复。
    相关的接口描述如下:
    原 型: long SetSecurity(long lFlag)
    功 能:

    设置文档安全选项
    参 数:
    lFlag
    :按位标记的控制开关。
    0x01
    表示不允许打印(当第一位为1时有效)
    0x02
    表示不允许保存(当第二位为1时有效
    )
    0x04
    表示不允许复制(当第三位为1时有效
    )
    0x08
    表示不允许拖动(当第四位为1时有效
    )
    0x8000
    表示清除开关(当最高位为1时有效
    )

    返回值:

    示 例:

    //
    禁止打印
    Object.SetSecurity(0x01);
    //
    恢复允许打印
    Object.SetSecurity(0x01 + 0x8000);
    //
    禁止保存
    Object.SetSecurity(0x02);
    //
    恢复允许保存
    Object.SetSecurity(0x02 + 0x8000);
    //
    禁止复制
    Object.SetSecurity(0x04);
    //
    恢复允许复制
    Object.SetSecurity(0x04 + 0x8000);
    //
    禁止打印、保存、复制
    Object.SetSecurity(0x01+0x02+0x04);
    //
    恢复允许打印、保存、复制
    Object.SetSecurity(0x01+0x02+0x04+0x8000);

    通过事件方式进行安全控制,原理是通过weboffice控件中的NotifyWordEvent事件捕获捕获部分Word/Excel/Wps事件,在事件执行前进行相关设置,从而对word文档进行安全控制。

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列05-菜单控制

    hangel » 2010-07-12 11:42

    由于控件升级 现在控制菜单有两种方式:
    新接口:
    屏蔽菜单
    1.
    2003屏蔽所有的菜单,除了参数的4个菜单。
    2.
    2007 功能区隐藏。当 pcExcludeBar1= "show" 功能区显示,否则隐藏
    HideMenuArea(LPCTSTR pcExcludeBar1, LPCTSTR pcExcludeBar2, LPCTSTR pcExcludeBar3, LPCTSTR pcExcludeBar4)
    示例:
    隐藏offcie 2003所有菜单工具栏格式栏等
    document.all.WebOffice1.HideMenuArea(
    “”,””,””,””);
    效果如下:

    1004291736b3e45edd9e0a3714.jpg



    显示菜单栏,常用工具栏:
    document.all.WebOffice1.HideMenuArea(
    Menu Bar,Standard,””,””);
    隐藏 office 2007 功能区

    document.all.WebOffice1.HideMenuArea(
    “”,””,””,””);
    显示Word 2007 功能区

    document.all.WebOffice1.HideMenuArea(
    show,””,””,””);


    旧接口:

    Word 2003

    short SetToolBarButton2(VARIANT lIndex, VARIANT lID, VARIANT lControl);
    设置所有菜单项或者菜单项按钮的隐藏和现实
    lIndex
    :要显示隐藏的元素名称。根据Word/Excel 的不同版本,可能有部分不同
    Standard:常用工具条
    Formatting:格式化工具条
    Menu Bar:菜单栏
    lID
    :要操作的菜单元素的位置
    lControl
    :按钮状态控制,按位控制,如该值为1时,它的二进制为0001,表示该菜单元素是显示但不可用第一位为:是否显示。0:隐藏;1:显示第二位为:是否可用。0:不可用;1:可用。第三位为:工具栏和菜单栏是否恢复到默认状态。0:不恢复;1:恢复。第四位为:是否隐藏整个菜单栏或工具栏,1为隐藏,0为显示
    示例:
    //
    隐藏菜单栏
    document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,8);
    //
    显示菜单栏
    document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,11);
    //
    隐藏常用工具栏
    document.all.WebOffice1.SetToolBarButton2("Standard",1,8);
    //
    显示常用工具栏
    document.all.WebOffice1.SetToolBarButton2("Standard",1,11);
    //
    隐藏格式工具栏
    document.all.WebOffice1.SetToolBarButton2("Formatting",1,8);
    //
    显示格式工具栏
    document.all.WebOffice1.SetToolBarButton2("Formatting",1,11);

    效果图如下:

    100429173778c902439dcacf57.jpg


    此时用户如果需要将自带工具栏也隐藏可以采用weboffice工具栏隐藏接口:
    document.all.WebOffice1.ShowToolBar=0;// 0
    隐藏 1 显示
    效果如图:

    100429173778c902439dcacf57.jpg



    1
    小时前


    Word 2007

    long HideMenuAction(short shMenuMode, long lValue);
    hMenuMode
    :设置模式:具体值及含义如下:
    0
    Office2003以下,直接关闭菜单,暂未支持。可使用SetToolBarButton2接口控制
    1
    Office2007以上,需要设置关闭菜单列表
    2
    :扩展值,暂无含义
    3
    :扩展值,暂无含义
    4
    :扩展值,暂无含义
    5
    :设置关闭菜单列表后,需调用此值激活。并第二个参数设置为0,具体见示例。
    6
    :恢复菜单显示及功能使用,第二个参数设置为0
    lValue:
    设置要隐藏的菜单及禁止复制、粘贴功能

    0x1000
    :十进制为4096--粘贴无效
    0x2000
    :十进制为8192—复制无效
    0x100000
    :十进制为1048576—开始菜单
    0x200000
    :十进制为2097152—插入菜单
    0x400000
    :十进制为4194304—页面布局菜单
    0x800000
    :十进制为8388608—引用菜单
    0x1000000
    :十进制为16777216—邮件菜单
    0x2000000
    :十进制为33554432—审阅菜单
    0x4000000
    :十进制为67108864—视图菜单
    0x8000000
    :十进制为134217728—开发工具菜单
    0x10000000
    :十进制为268435456—加载项菜单

    //
    设置粘贴无效
    document.all.WebOffice1. HideMenuAction(1,4096);//
    设置动作
    document.all.WebOffice1. HideMenuAction(5,0);//
    激活设置
    //
    设置复制无效
    document.all.WebOffice1. HideMenuAction(1,4096);
    document.all.WebOffice1. HideMenuAction(5,0);
    //
    设置开始菜单隐藏
    document.all.WebOffice1. HideMenuAction(1,1048576);
    document.all.WebOffice1. HideMenuAction(5,0);
    //
    设置多菜单隐藏(比如隐藏开始、插入、页面布局菜单)
    document.all.WebOffice1. HideMenuAction(1,1048576+2097152+4194304);
    document.all.WebOffice1. HideMenuAction(5,0);
    //
    恢复至设置之前状态(即正常状态)
    document.all.WebOffice1. HideMenuAction(6,0);

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜色)

    hangel » 2010-07-12 11:42

    调节颜色:
    SetCustomColour(long lType, long lColour)
    lType
    : 设置肤色

    custColorToolBarBKColor = 0,
    底色

    custColorToolBarMiddleColor = 1,
    中间色
    custColorToolBarTopColor = 2,
    上色
    custColorToolBarBottomColor = 3,
    下色
    lColour
    : 为颜色值 0-65535
    已经有的几个模式

    //
    淡紫色
    document.all.WebOffice1.SetCustomColour(2,243*256*256+244*256+250);
    document.all.WebOffice1.SetCustomColour(1,225*256*256+226*256+236);
    document.all.WebOffice1.SetCustomColour(3,153*256*256+151*256+181);
    document.all.WebOffice1.SetCustomColour(0,243*256*256+243*256+247);

    10042916135b8801f3fa7105a9.jpg



    //
    深蓝色
    document.all.WebOffice1.SetCustomColour(2,131*256*256+97*256+59);
    document.all.WebOffice1.SetCustomColour(1,239*256*256+216*256+138);
    document.all.WebOffice1.SetCustomColour(3,133*256*256+94*256+53);
    document.all.WebOffice1.SetCustomColour(0,130*256*256+92*256+52);

    1004291613e2bbbdebd085fd6d.jpg


    //
    浅黄色
    document.all.WebOffice1.SetCustomColour(2,220*256*256+235*256+254);
    document.all.WebOffice1.SetCustomColour(1,196*256*256+219*256+249);
    document.all.WebOffice1.SetCustomColour(3,136*256*256+174*256+228);
    document.all.WebOffice1.SetCustomColour(0,191*256*256+214*256+249);

    1004291613ff44a7d13695f472.jpg


    添加按钮:
    SetCustomToolBtn(long lIndex, LPCTSTR pcBtnText)
    设置自定义菜单的文字信息 系统内置了 5 个按钮。
    SetCustomToolBtn
    0"test0");
    SetCustomToolBtn
    1
    "test2");
    SetCustomToolBtn
    2
    "test2");
    SetCustomToolBtn
    3
    "test3");
    SetCustomToolBtn
    4
    "test4");
    示例:
    document.all.WebOffice1.SetCustomToolBtn(0, "new1");
    document.all.WebOffice1.SetCustomToolBtn(1, "new2");
    document.all.WebOffice1.SetCustomToolBtn(2, "new3");
    document.all.WebOffice1.SetCustomToolBtn(3, "new4");
    document.all.WebOffice1.SetCustomToolBtn(4, "new5");

    10042916131b6837953216bbe2.jpg


    如何实现自定义功能:
    首先页面中要加入js监听事件
    <SCRIPT language=javascript event=NotifyToolBarClick(iIndex) for=WebOffice1>
    <!--
    WebOffice1_NotifyToolBarClick(iIndex);
    //-->
    </SCRIPT>

    function WebOffice1_NotifyToolBarClick(iIndex){
    if(iIndex>=32776){
    alert(iIndex+"
    新加按钮触发的事件可在这里写自己的功能");
    }

    }

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列08-文件上传到服务器

    hangel » 2010-07-12 11:43

    文件上传到服务器,目前WebOffice支持四种模式:
    1. WebOffice
    内部发起HTTP协议的发送,采用Post模式。(详细的说明,可以参照开发文档)

    WebOffice
    控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。注:点聚WebOffice的上传接口和AIP是一致的。
    原理
    因为Web页面上的WebOffice打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域<input type=file >,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。
    主要上传接口:
    HttpInit();该方法用于初始化上传接口,不需要设置参数
    HttpAddPostString(String FieldName, String someValue);
    添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值
    例一:
    HttpAddPostString("username", "zhangSan");
    它类似域表单域的
    <input type=text name=username value=zhangSan>
    例二:
    HttpAddPostString("username", WebForm.username.value);
    .
    <form name= WebForm ><input type=text name=username value=zhangSan></form>
    注意:如果使用点聚上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。

    HttpAddPostCurrFile(String fileName, String ReName);
    添加当前WebOffice编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。
    例一:
    HttpAddPostCurrFile("AipFile", "");
    该接口模拟表单文件域如下:
    <input type=file name=AipFile >
    注意:第二个参数为空表示控件自动为文件命名,如:dj_temp.aip,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。
    HttpPost(String url);
    执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。
    url
    支持绝对路径和相对路径。
    绝对路径,例如:http://192.168.0.1/savedoc.asp
    相对路径要以“./”或者“../”开头。例如:
    ./savedoc.asp
    完整的上传接口演示

    function SaveDoc() {
    var returnValue; //
    保存页面的返回值
    document.all.WebOffice1.HttpInit(); //
    初始化Http引擎
    //
    添加相应的Post元素
    document.all.WebOffice1.HttpAddPostString("username", WebForm. username.value);
    //
    添加上传文件

    document.all.WebOffice1.HttpAddPostCurrFile("AipFile ","");
    //
    提交上传文件
    returnValue = document.all.WebOffice1.HttpPost("../saveDoc.jsp");
    if("true" == returnValue){
    alert("
    文件上传成功");
    } else {
    alert("
    文件上传失败
    ")
    }
    }
    WebOffice
    上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了

    ---------------------------------------------JSP
    上传代码-------------------------------------------------------------
    上传按钮的onclick事件里内容:

    var webObj=document.getElementById("WebOffice1");

    webObj.HttpInit();
    webObj.HttpAddPostCurrFile("FileBlody");//
    上传当前文件
    webObj.HttpAddPostString("name",name);//
    可以通过我们的控件将一些需要传到服务器的其他内容随文档一起上传

    returnValue = webObj.HttpPost("http://127.0.0.1:8080/TestWebOffice/saveDoc.jsp");

    if("ok" == returnValue){
    alert("
    上传成功!");
    }else if("failed" == returnValue){
    alert("
    上传失败!
    ");
    }

    接收页面saveDoc.jsp使用了上传组件
    SmartUpload
    <%@ page contentType="text/html;charset=GB2312" %><jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />

    <%
    try{
    //
    初始化上传组件

    mySmartUpload.initialize(pageContext);

    mySmartUpload.upload();

    String FilePath;
    com.jspsmart.upload.File myFile = null;
    myFile = mySmartUpload.getFiles().getFile(0);
    FilePath = myFile.getFileName();
    //System.out.println(FilePath);
    if (!myFile.isMissing()){
    myFile.saveAs("upload/"+FilePath,mySmartUpload.SAVE_VIRTUAL);
    }
    out.clear();
    out.print("ok");
    out.flush();
    }catch(Exception e){
    out.clear();
    out.print("failed");//
    返回控件HttpPost()方法值。
    out.flush();

    }%>
    ---------------------------------------------JSP
    上传代码 END-------------------------------------------------------------
    2.
    通过AJAX上传二进制数据

    原理:
    AJAX
    负责上传数据。
    WebOffice
    负责把组织待上传的数据。
    ------------------------------
    例子------------------------------------------------------------------------------------------
    //
    创建AJAX对象

    function createXMLHttpRequest(){
    var xmlHttp = null;
    if (window.ActiveXObject){
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
    }else if (window.XMLHttpRequest){
    xmlHttp = new XMLHttpRequest()
    };
    return xmlHttp
    };
    //
    发送数据
    function Send2(){
    var xmlHttp = this.createXMLHttpRequest();
    var webObj=document.getElementById("WebOffice1");
    webObj.HttpInit(); //
    初始化Http引擎
    //
    添加相应的Post元素
    webObj.HttpAddPostString("id", "0");
    webObj.HttpAddPostString("DocTitle", "Test001");
    webObj.HttpAddPostString("DocID", "Test001");
    webObj.HttpAddPostString("DocType","doc");
    webObj.HttpAddPostCurrFile("DocContent","");
    //
    设置接受数据的页面。采用同步发送机制。

    xmlHttp.open("POST", "http://192.168.1.1/WebOffice/savedoc.jsp?time=
    随机数生成的时间,防止IE缓存", false);
    //
    打包待上传的数据流

    var vv = document.all.WebOffice1.GetHttpPostFormatData(1);
    //
    发送数据
    xmlHttp.setRequestHeader("Content-Type","multipart/form-data; boundary=--MULTI-PARTS-FORM-DATA-BOUNDARY");
    xmlHttp.send(vv);
    //
    判断接受数据
    if (xmlHttp.status == 200){
    if (!xmlHttp.responseText){
    };
    alert(xmlHttp.responseText);
    }
    alert(xmlHttp.status);
    };
    ------------------------------
    例子 END------------------------------------------------------------------------------------------
    3. WebOffice
    负责把文件生成为字符串

    原理:
    通过接口:GetFileBase64 把二进制文件生成为字符串。通过SaveBinaryFileFromBase64把字符串还原为二进制文件。
    适用于 B/SC/S模式。
    --------------------
    保存字符串到数据库中-------------------------------
    var v = document.all.WebOffice1.GetFileBase64("d:\\Server.dmp",1);
    //
    把字符串赋值给隐藏域
    "FileData"
    document.all.FileData.value = v;
    //submit
    就可以了。

    ----------------------
    打开字符串文件------------------------------------
    //
    获取临时文件名

    var vTempFile = document.all.WebOffice1.GetTempFilePath();
    //
    把字符串保存为临时文件
    var vBase64 = "<%=FileData%>"
    document.all.WebOffice1.SaveBinaryFileFromBase64(vTempFile ,vBase64 );
    //
    调用接口,打开文件即可

    4. WebOffice
    返回文件的数据流,调用程序负责传递数据,一般用于C/S开发模式
    VARIANT GetFileBinary(LPCTSTR strFilePath)

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发09-其他功能

    hangel » 2010-07-12 11:44

    Weboffice具有全屏显示的功能,单击“全屏”,word文档会全屏显示在屏幕上,单击右上角的“返回”则可以返回原来的模式,如下图所示:

    10042915429102f0ccbf84212d.jpg



    Weboffice
    支持VBA编程,在使用js调用weboffice的接口获取VBA对象,同过VBA对象可以使用VBA编程对word文档进行编辑,具体的操作如下:
    var obj=document.getElementById(
    webOffice1).GetDocumentObject();
    使用obj就可用调用wordVBA接口,从而对word进行操作。

    您没有权限查看这个主题的附件。

     

    展开全文
  • 一、能没有的pdf软件 以下介绍的是PDF(Portable Document Format)常用的阅读、编撰以及其他工具。 阅读工具 1、Adobe AcrobatReader中文版 应用平台:Windows XPService Pack 3(32 位)或 Service Pack 2(64 ...

    一、不能没有的pdf软件

    以下介绍的是PDF(Portable Document Format)常用的阅读、编撰以及其他工具。
    阅读工具
    1、Adobe AcrobatReader中文版
    应用平台:Windows XPService Pack 3(32 位)或 Service Pack 2(64 位);Windows Server 2003 R2;Windows Server 2008或2008 R2;Windows 7;Windows 8 或 8.1
    类型:免费软件
    简介:官方出品的阅读器,允许阅读PDF文档,填写PDF表格,查看PDF文件信息,快速编辑PDF文档,转 Word、Excel。稳定性和兼容性好。缺点是体积庞大,启动速度慢。
    2、Foxit Reader
    类型:免费软件
    支持的平台:Windows 系列/移动平台/Linux
    简介:能实现绝大部分的阅读功能。绿色软件。体积小巧,启动速度快。
    3、百度阅读器
    类型:免费软件
    支持的平台:Windows 系列
    简介:能实现绝大部分的阅读功能。完美支持epub、pdf、txt、doc、ppt等主流格式。
    4、See9 PDF Reader
    类型:免费软件
    支持的平台:Windows 系列
    简介:软件支持多种浏览模式,是一款真正免费的、简洁易用的PDF阅读器。
    5、Sumatra PDF
    类型:免费软件
    支持的平台:Windows 系列
    简介:支持PDF, eBook (ePub, Mobi), XPS, DjVu, CHM, Comic Book (CBZ and CBR)等多种格式。界面简洁 ,体积小,启动速度快。
    6、PDFView4NET
    PDFView4NET 是一个面向在 .NET 中增加 PDF 补偿和打印支持的 .NET 工具包. 它包括了一个针对 Windows 窗体的 PDF 浏览器控件,以及一个针对从 .NET 应用程序中补偿和打印 PDF 文件的 .NET 函数库. 面向 Windows 窗体的 PDF 浏览器控件支持注释 PDF 文件,漫游书签,增加和消除文件附件,以及其他特性。这个包包括了自有的 PDF 补偿引擎,其不依赖于任何软件来补偿和打印 PDF 文件. PDFView4NET 包已经在 C# 中得到了全面的发展,100% 可操作的代码。
    7、iBooks
    类型:免费软件
    支持平台:iOS 4+
    简介:iBook程序还阅读PDF格式文件。你可以用以下两种方式来将PDF格式文件添加到iBook当中:在iPad上收取邮件,然后利用iBook去打开该附件,之后该PDF就会自动被添加到iBook的书架上,另外一种方式是将PDF文件添加到iTunes的资料库之中然后同步到iPad里。在iBook笔记本中,你可以通过点按一个按钮来查看iBook书籍与PDF格式文书。PDF文件打开时会自动全屏,让你能以阅读电子书的方式来阅读PDF格式。你也可以翻阅书页,添加书签或是放大文书的内容。
    转换工具
    1、Adobe官方编辑转换工具Adobe Acrobat
    类型:商业软件支持的平台:Windows 系列/移动平台/MAC/Unix/Linux
    简介:支持简单的PDF转换成Word、Excel,比较快速,效果比较好
    2、在线PDF转换Word:各大转换网站
    类型:免费软件
    简介:利用网站在线转换,方便简单,不用安装另外的转软件,并有多种选择
    3、易捷PDF转换成Word转换器
    类型:免费软件
    支持的平台:Windows 系列
    简介:能够轻松的将文字的PDF转换成Word,同时能够很好的保留原始PDF文档的样式与排名,同时支持批量转换,是办公必备的好用小软件。
    创编工具
    ★推荐产品:官方编辑工具Adobe Acrobat、Adobe Indesign
    类型:商业软件
    简介:生成PDF文件,修改PDF文件。功能强大。
    其它产品:
    ★Foxit PDF Editor
    软件授权:共享版
    简介:Foxit PDF Editor 是第一个真正的PDF文件编辑软件。许多人都希望能找到一个像编辑其它类型的文档的编辑器,事实上在 Foxit PDF Editor 出现之前,根本没有这样的工具。每一个PDF文件都包含很多页面,每一页包含各种可视对象,如文本对象、图形对象和图像对象。而每一个对象都由其属性来定义其显示的方式。
    ★Foxit PDF Creator
    支持的平台:Windows 2000/2003/XP/Vista(32-Bit&64-Bit)/7(32-Bit&64-Bit)
    简介:是PDF创建工具,可以将支持打印的任何类型的文档,象DOC、XLS、PPT、TXT、E-MAIL甚至HTML格式的文档通过点击列印转换成标准的PDF格式。
    ★金山WPS
    类型:免费软件
    支持的平台:安卓平台
    简介:免费国产办公软件,可将文档转化为pdf格式
    ★Pdf995 Printer Driver
    类型:免费软件
    支持的平台:Windows 系列
    简介:安装后,会加入一部名叫PDF995的打印机。只要在有提供打印的软件上选择打印到PDF995,便可将整个文档打印存为PDF。
    ★Pdf Factory
    类型:共享软件
    支持的平台:Windows 系列
    简介:和上面的工具是一样的用法,也是打印文件到PDF中。支持安全设置、预览、嵌入字体,允许插入和删除某个页。
    ★ComponentOne StudioPDF控件
    支持平台:Asp .NET
    简介:在应用程序中,可以使用ComponentOne为ASP .NET出品的PDF控件来创建Adobe PDF格式的文件。可以将内容添加到文件的这些命令与.NET Graphics图表类中可用的这些类似。ASP .NET的PDF控件提供了安全性、密集性,大纲、超链接和附件。
    特性:图元文件中图像的快速渲染和压缩;AcroForms支持;HTML支持;熟悉的语法使用DrawImage方法;管理文件限制;将附件添加到PDF文件;所有者和用户密码保护;添加图形元素;创建一个大纲结构;添加超链接和本地链接和控制文件信息和浏览器偏好设置。
    ★其他编辑软件
    Pitstop(作为插件形式与acrobat专业版协助)
    NEO(MAC上的专业PDF编辑软件)
    packedge(esko流程中的编辑软件,且对PDF支持很好编辑类)
    ARTPRO(MAC上的pdf专业编辑软件)
    Adobe Illustrator(仅可汇入该档案的某个页面编辑类)
    PDF Creator
    PrimoPDF
    CutePDF
    Microsoft Office2007/2010加载项:Microsoft Save as PDF或XPS
    分割合并工具
    ★推荐产品:Foxit PDF Page Organizer
    简介:一款可以拆分、合并PDF页面、重排页面、组织书签(bookmarks)、添加注释(annotations)和创建链接的PDF页面管理器。
    ★其它产品:PDFSplit-Merge
    一款好用的PDF分割/合并工具,可以帮助你从PDF中“去粗取精”,也可将多个PDF文档打包在一起,以方便传输、阅读。软件本身是独立的,无需预装 Adobe Acrobat。
    ★PDFdo
    优点:无需安装任何软件即可在线合并分割PDF。
    加密工具
    ProfPDF Protection Manager
    PDF 加密工具,是一款给PDF文档加密码保护或在知道密码的情况下移除密码保护的工具。
    解密工具
    ★推荐产品:Advanced PDF Password Recovery
    PDF密码破解工具,支持暴破、掩码、字典、密钥四种破解方式。
    ★pdf密码暴力破解工具 PDFPasswordCracker
    ★去除PDF文件加密A-PDF Restrictions Remover
    类型:共享软件
    支持的平台:Windows 系列
    简介:可以去除PDF文件的限制,比如不允许打印等。使用超级简单,安装后,在我的电脑中右键单击PDF文件,选择Remove Restrictions... 选项即可。如果碰到有需要密码打开的文件,需要输入正确密码。
    ★PDFdo解密去除限制
    可在线去除PDF密码 和各种限制。
    二、图像处理软件

    现在办公肯定少不了P图,那么图像处理软件必不可少了。adobe家族常用软件:photoshop,illustrator,CorelDRAW Graphics Suite

    三、cad,计算机辅助设计软件

    建筑、设计、机械、道路等专业的这个软件必不可少。

    四、可视化思维管理工具-XMind

    XMind 是一款非常实用的商业思维导图软件,应用全球最先进的Eclipse RCP 软件架构,全力打造易用、高效的可视化思维软件,强调软件的可扩展、跨平台、稳定性和性能,致力于使用先进的软件技术帮助用户真正意义上提高生产率。

    五、远程协助控制软件-TeamViewer

    TeamViewer是一款穿透内网远程控制软件,能在任何防火墙和NAT代理的后台用于远程控制,桌面共享和文件传输的解决方案。软件第一次启动在两台计算机上自动生成伙伴ID,只需要输入你的伙伴的ID到TeamViewer,然后就会立即建立起连接。公司致力于在全球实现在线支持和实时协作,远程支持、远程访问和在线协作的解决方案。用于实现远程支持、远程访问、远程管理、家庭办公及在线协作和会议功能的软件。支持Windows、Mac、Linux、Chrome OS、iOS、Android、Windows Mobile和BlackBerry平台。

    六、必不可少的截图软件-Snipaste

    展开全文
  • office 控件编辑 基本介绍 iWebOffice系列文档控件,是江西金格网络科技有限责任公司经过两年的完全自主开发设计,拥有自主知识产权的中间件软件,于2003年3月取得了国家软件著作权保护,于2003年12月取得了江西...

     

    需求效果实现Office在线编辑支持B/S数据实时交互然后保存成html格式如图:

    の

     

    iWebOffice2003网络文档中间件是iWebOffice系列中的低端产品(该系列包含iWebOffice2000、2003、2006、2009、2012等几款产品)。iWebOffice2003产品支持直接在IE浏览器中在线打开服务器上的文档(Word、Excel、WPS、金山表格)并对文档进行编辑和保存操作,能够自由的将服务器数据库中的数据插入当前文档的指定位置,实现文档和电子表格和数据库的统一管理。同时支持痕迹保留、模板套红、手写签名、电子印章等办公自动化系统必备的功能。

      
     iWebOffice2003网络文档中间件采用标准HTTP、HTTPS协议进行通信可以兼容各种B/S架构下的应用环境,支持任意后台Web服务器程序(IIS、WebLogic、WebSphere、Apache、Tomcat等),任意服务端操作系统(Windows 2000/2003/2008、Linux、Unix等),以及各种B/S架构编程语言(ASP、JSP、PHP、VB.NET、C#.NET、DOMINO等)和各种Web应用服务器体系结构(J2EE、.NET等)。它能非常简洁、方便、快速的集成到您的产品中,为您的产品提供专业、稳定、高效的文档应用功能。

    最新版本

       iWebOffice2003网络文档中间件目前最新版本为:V8.7.2.4全面支持各种OFFICE版本。

     

    功能实现:

    1、强大的扩展通讯能力,支持B/S数据实时交互

      采用了自主知识产权的DBPacketTM对象包协议技术,能够在IE浏览器里非常方便的使用JavaScript或VBScript调用封装好的WebSetMsgByName(设置变量值)和WebGetMsgByName(取得变量值)函数,通过标准的HTTP协议与Web服务器进行通讯,从而实现强大的通讯功能,适用与任何复杂前后台数据交换的工作。

      2、传输过程安全加密,保证文件传输安全

      系统采用前端和后端方式设计,当客户端请求一个服务器文档时,服务器端的组件自动将文档经过加密传输到客户端,客户端将自动检验文档的完整性,以及是否被篡改。当客户端保存文档时,首先将文档加密,然后发送到服务器上,服务器上的后端也自动检验文档的完整性,以及是否被篡改,只有采用双向验证,才能保证文档信息的安全可靠。

      3、支持多种电子印章、手写签名认证功能

      第一种:iWebOffice2003印章和签名能够达到数据库级的认证,应用特有的DBPacketTM对象包协议技术,即任何盖章和手写签名的相关信息,我们都在文档本身和服务器的数据库中各保存一份,这些信息包含盖章签名的用户名,客户机的IP地址,日期时间,同时自动根据这些信息生成全球唯一密码验证序列,从而保证印章签名的安全性、可对比性,即使文件本身的印章签名被篡改,也不会影响服务器数据库中的记录,从而保证文档印章和签名信息的安全可靠性能。

      第二种:可以与iSignature专业手写签名,电子印章软件结合,该技术能够检测文档资料内容是否被修改,如果文件在加盖印章或手写签名后,内容再次被修改,那么印章或签名将自动显示无效,该技术采用印章钥匙盘作为印章硬件载体,手写签名支持各种手写笔,从而真正实现系统的安全性。

      4、支持多种文档保存方式,保存过程简单

      第一种:支持文件保存到服务器数据库中。第二种:支持文档保存到服务器上的指定目录中。第三种:混合保存模式,既保存到数据库中,又保存到文件中。系统在服务器端提供的MsgFileBody属性,就是文档的二进制内容,通过对该属性的存取,可以用来保存或取出数据库记录中的文档,同时提供MsgFileSave(文件路径)和MsgFileLoad(文件路径)来打开和保存服务器上的文档,使用过程非常简单。

      5、快速保存大容量文档

      系统采用HTTP协议快速保存大容量的文档到服务器,应用特有的DBPacketTM对象包协议技术,能比正常保存方式所花的时间短三到五倍,可以在短时间内保存几十M大的文档。如:保存10M大的文档到服务器目录中,只需要约30秒就完成。

      6、支持断点续传和进度条显示跟踪

      在保存文档到服务器时,系统应用特有的DBPacketTM对象包协议技术,实现对文档的断点续传操作,取消保存后,可以再次接着上传,并且实现进度条窗体的显示,方便用户跟踪保存文档进度。该功能可以用于文档交换系统,如公文交换系统实现文档的异地传输。

      7、支持标签管理、定位和标签文字更改

      拥有强大的前后台数据交互功能,能够在打开Word/Wps文件的状态下,根据需要从服务器数据库中提取相关数据,替换标签处的文字内容。并且能够做到在指定位置显示指定内容的效果。

      8、支持模板管理功能

      在编写公文时,经常需要用到各种标准公文模板,通过本功能结合标签功能,能够非常好的实现模板的管理。

      9、支持模版套红功能

      应用特有的DBPacketTM对象包协议技术,支持拟稿时选择模版套红,也支持定稿后的模版套红功能,并且实现文档其它基本要素(如:标题、日期等)直接套到模板中,一次形成正式文档,模板可以从数据库、服务器目录、本地目录中读取,方便开发。

      10、支持原痕迹稿件和定稿稿件分别保存

      在处理文档时,通常需要将原稿和最终稿件分别保存起来,系统提供了定稿保存的方法WebUpdateFile,能够非常简单的解决问题。

      11、支持在提交编辑文档的同时,提交表单的其它数据

      采用强大的扩展通讯技术,让您在提交编辑文档的同时,能够非常方便的提交表单的其它数据,这可以让您更加快速的集成现有的应用程序,或者创建新的应用程序。

      12、支持Word或Excel文件发布为HTML

      可以让您将在线编辑的文档(WORD和EXCEL)以HTML的方式发布到WEB服务器。让没有安装控件的用户也能够方便的查看文档。该功能可以实现文档实时发布,在做内容管理或新闻管理时特别有用。

      13、支持版本控制功能

      支持版本自由控制,可以由用户根据需要创建文挡的多个版本,并可以随时调用以前保存的保本。

      14、使用标准协议进行通讯,通用性好

      底层通讯基于标准的HTTP/HTTPS协议开发,使得合作伙伴无须担心技术的进步带来后续维护和开发风险。

      15、支持从服务器插入透明浮动图片到Word,Excel文档

      支持将服务器图片插入到Word文档的指定位置,并可以设置透明、浮动效果。也支持图片插入到Excel中。

      16、支持将手写签名、电子印章增加到Word,Excel文档

      支持将手写签名、电子印章图片插入到Word文档的指定位置。还提供印章或签名资源预保存功能,用户可以通过密码的方式来获得自己的签名或印章,印章和签名与文档保存在一起,印章或签名可以功过系统的验证来判断真伪。

      17、支持多种形式的文档批注

      支持文字、语音、录影等多媒体批注,可以在不写字的情况下实现批注。

      18、支持禁止文档内容拷贝的功能(包括屏幕拷贝)

      支持禁止文档内容拷贝、粘贴和屏幕拷贝。

      19、支持HTTP协议,HTTPSOVERSSL协议

      对HTTPS协议的支持使得可以创建更加安全的应用。并且自动支持SessionCookie。使用当前页面的SessionCookie和服务器进行交互。

      20、支持各种手写笔录入、签名、绘图和批注

      支持各种手写笔(汉王、蒙恬、联想)录入方式和使用手写笔手写签名、手工绘图和批注,其中手写签名完全支持笔锋处理,字迹更加清晰自然。(手写笔设备需支持WINTAB标准)

      21、支持微软OFFICE各种版本

      所有版本都支持微软OFFICE,6.5版本开始更支持OFFICE2007。(OFFICE高版本的特有文档格式不被支持,当前仅支持“OFFICE2000-2003兼容格式”)

      22、良好的文档兼容性

      完全兼容OFFICE和WPS文档格式,生成的文档可以用MSOFFICE、金山WPS、红旗RedOffice等办公软件浏览和编辑。

      23、支持简洁高效的编程接口

      提供Web方式的VBA接口,可以通过Javascript/Vbscript操作Word/Excel,就像VBA一样。可以完全控制OFFICE文档。

      24、系统二次开发

      提供强大的函数库,支持多种系统环境,多种开发语言,多种数据库。

      25、在下载和上载Office文档时不会产生临时文件

      [高级版]可以提供使用数据流作为Office文档的数据源的技术方式,使控件打开文档时客户端本身不会产生临时文件。

      26、数字证书、可进行身份认证

      [高级版]可提供数字认证功能,采用PKI加密认证体系,保证文件的真实性和不可抵赖性。

      27、支持自定义菜单功能

      5.0以上版本(含)正式支持用户自定义菜单,更加方便用户的操作。

      28、符合ISO文档

      可以实现禁止F12、CTRL+P快捷键,满足ISO文档的要求。

      29、禁止/允许打印功能

      支持禁止/允许打印文档的功能,防止文档打印输入。

      30、插入远程多种格式文件

      支持多种格式文件直接插入当前打开的文档中,如图片、OFFICE文档、TXT、HTML文件等。

      31、打印有痕迹文档功能

      可以实现在只读状态下,打印带有痕迹的文档功能。

      32、打开URL文档

      可以通过URL方式直接在iWebOffice中打开远程文档。

      33、实现文档全文检索功能

      支持提取文档的TEXT内容并直接保存到数据库中,方便用户实现准确、快速全文检索功能。

      34、在文档只读状态下加盖印章功能

      支持文档在只读状态下,实现加盖印章功能,保证文档内容不可修改,同时不可删除印章功能。

      35、文档数据智能填充功能

      支持数据库中的数据直接填充到文档中,并且在指定位置处,可用于文档内容与数据库信息相互交互,类似方法有WebLoadBookmarks()。

      36、文档合并功能

      提供强大的文档合并编辑功能,可以直接从服务器数据库、目录或本地目录中直接读取文档,进行智能定位合并,实现文档结合发布,主要于多个文档收集、采编、合并、发布。

      37、打开和保存本地文档

      支持打开和保存本地文档功能,可以直接打开本地文档,同时也能直接将文档保存到本地。

      38、支持标准强制痕迹保留

      支持标准强制痕迹保留格式,即使文档脱离iWebOffice2003环境,也能保证痕迹的正确显示。

      39、支持多种操作系统,Web服务器,数据库和编程语言

      支持Windows、Linux、Unix等各种操作系统,支持IIS、Domino、Websphere、WebLogic、Apache等所有后台WEB服务器类型,支持DB2、Oracle、SyBase、MySQL、SQLServer、Access等各种常用数据库和JSP、ASP、PHP、VB.NET、C#.NET等多种编程语言。

      40、支持FTP方式打开和保存文档

      支持使用FTP方式打开和保存文档,并且实现帐号信息的加密,实现大文件的保存和快速打开,提供详细二次开发接口,并且可以使用删除FTP删除文档。

      41、重设客户机时间功能

      支持重设客户机时间为服务器时间,可以实现将痕迹保留时间控制为当前服务器时间。

      42、全面兼容WPS

      从WPS2005版本开始全面兼容WPS软件,直接设置EditType=".wps"就可实现WPS在线编辑,其它接口保持与OFFICE一样,实现更强大WPS功能应用。(仅支持WPS编辑WPS格式的文档,不支持WPS编辑WORD格式的文档,也不支持WORD编辑WPS格式的文档)

      43、支持WORD、EXCEL、WPS、ET文档

      支持更多常用文档编辑器,提供WORD、EXCEL、WPS、ET文档的支持功能,实现在线编辑、在线保存、打开本地文件、保存为本地文件、打印文档等功能。(目前总共支持四种文档格式:WORD、EXCEL、WPS、金山表格)

      44、支持转换成PDF文档

      支持将WORD文档转换成标准的PDF文档并保存到服务器上(需安装AdobeAcrobat软件)。配合iWebPDF中间件[]使用将完善用户的完美文档操作、管理、浏览体验。

      45、支持自定义多级菜单

      支持自定义菜单,并且菜单内可定制多级子菜单,方便用户开发极具美观和个性化的菜单功能。

      46、支持文档编辑器判断

      支持对当前机器环境中是否存在某个文档编辑器进行判读,方便用户进行更多人性化的判断和提示。

      47、支持OFFICE2007界面控制

      支持OFFICE2007选项卡界面的详细控制,方便用户定义独特的文档编辑UI界面。

     

     

    代码展示代码如下:

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
      <head>
        <title>编辑正文</title>  
    	<meta http-equiv="pragma" content="no-cache" />
    	<meta http-equiv="cache-control" content="no-cache"/>
    	<meta http-equiv="expires" content="0"/>    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"/>
    	<meta http-equiv="description" content="This is my page" />
    	<script language="javascript" for=WebOffice event="OnMenuClick(vIndex,vCaption)">
    	  if (vIndex==1){  
    	    WebOpenLocal();     //打开本地文件
    	  }
    	  if (vIndex==2){  
    	    WebSaveLocal();     //保存本地文件
    	  }
    	  if (vIndex==3){
    	    SaveDocument();     //保存正文到服务器上(不退出)
    	  }
    	  if (vIndex==11){
    	    SaveDocument();     //保存正文到服务器上
    	    webform.submit();   //然后退出
    	  }
    	  if (vIndex==13){  
    	    WebOpenPrint();     //打印文档
    	  }
    	</script>
    
    <script language=javascript>
    /*
    form表单名称:webform
    iWebOffice名称:WebOffice
    WebObject文档对象接口,相当于:
    
    如:webform.WebOffice.WebObject
    */
    //作用:显示操作状态
    function StatusMsg(mString){
      alert(mString);
    }
    //作用:载入iWebOffice
    function Load(){
      try{
        //以下属性必须设置,实始化iWebOffice
        webform.WebOffice.WebUrl="$!path/servlet/DocController?method=openDoc";        //WebUrl:系统服务器路径,与服务器文件交互操作,如保存、打开文档,重要文件
        webform.WebOffice.RecordID="$!recordID";            //RecordID:本文档记录编号
        webform.WebOffice.Template="";            //Template:模板编号
        webform.WebOffice.FileName="";            //FileName:文档名称
        webform.WebOffice.FileType=".doc";            //FileType:文档类型  .doc  .xls  .wps
        webform.WebOffice.UserName="银监会";            //UserName:操作用户名,痕迹保留需要
        webform.WebOffice.EditType="1,1";            //EditType:编辑类型  方式一、方式二  <参考技术文档>
                                                                //第一位可以为0,1,2,3 其中:0不可编辑;1可以编辑,无痕迹;2可以编辑,有痕迹,不能修订;3可以编辑,有痕迹,能修订;
                                                                //第二位可以为0,1 其中:0不可批注,1可以批注。可以参考iWebOffice2009的EditType属性,详细参考技术白皮书
        webform.WebOffice.MaxFileSize = 8 * 1024;               //最大的文档大小控制,默认是8M,现在设置成4M。
        webform.WebOffice.Language="CH";                        //Language:多语言支持显示选择   CH 简体 TW繁体 EN英文
        //webform.WebOffice.ShowWindow = true;                  //控制显示打开或保存文档的进度窗口,默认不显示
    
        webform.WebOffice.ShowToolBar="1";                      //ShowToolBar:是否显示工具栏:1显示,0不显示
        //以上为自定义工具栏按钮↑
    
        webform.WebOffice.ShowMenu="1";                         //控制整体菜单显示
        
        //以下为自定义菜单↓
        webform.WebOffice.AppendMenu("1","打开本地文件(&L)");
        webform.WebOffice.AppendMenu("2","保存本地文件(&S)");
        webform.WebOffice.AppendMenu("3","保存远程文件(&U)");
    	webform.WebOffice.AppendMenu("11","保存并退出(&E)");
        webform.WebOffice.AppendMenu("10","-");
        webform.WebOffice.AppendMenu("13","打印文档(&P)");
        //以上为自定义菜单↑
        webform.WebOffice.DisableMenu("宏(&M);选项(&O)...");    //禁止某个(些)菜单项
    
        //WebSetRibbonUIXML();                                  //控制OFFICE2007的选项卡显示		
        webform.WebOffice.WebOpen(); 
        webform.WebOffice.WebObject.Application.ActiveWindow.View = 3                           //打开该文档    交互OfficeServer  调出文档OPTION="LOADFILE"    调出模板OPTION="LOADTEMPLATE"     <参考技术文档>
        webform.WebOffice.ShowType=1;           //文档显示方式  1:表示文字批注  2:表示手写批注  0:表示文档核稿
       //                  //状态信息
      }catch(e){
        alert(e.description);                                   //显示出错误信息
      }
    }
    
    //作用:退出iWebOffice
    function UnLoad(){
      try{
        if (!webform.WebOffice.WebClose()){
          StatusMsg(webform.WebOffice.Status);
        }else{
          //StatusMsg("关闭文档...");
        }
      }catch(e){
        alert(e.description);
      }
    }
    
    //作用:打开文档
    function LoadDocument(){
      StatusMsg("正在打开文档...");
      if (!webform.WebOffice.WebOpen()){  	//打开该文档    交互OfficeServer的OPTION="LOADFILE"
         StatusMsg(webform.WebOffice.Status);
      }else{
         StatusMsg(webform.WebOffice.Status);
      }
    }
    
    //作用:保存文档
    function SaveDocument(){
      webform.WebOffice.WebUrl="$!path/servlet/DocController?method=saveDoc"; 
      //webform.WebOffice.WebSetMsgByName("MyDefine1","自定义变量值1");  //设置变量MyDefine1="自定义变量值1",变量可以设置多个  在WebSave()时,一起提交到OfficeServer中
      if (!webform.WebOffice.WebSave(true)){    //交互OfficeServer的OPTION="SAVEFILE"  注:WebSave()是保存复合格式文件,包括OFFICE内容和手写批注文档;如只保存成OFFICE文档格式,那么就设WebSave(true)
        //WebSaveAsHtml();
        StatusMsg(webform.WebOffice.Status);
        return false;
      }else{
      		
      		WebSaveAsHtml();
         StatusMsg(webform.WebOffice.Status);
         return true;
      }
    }
    
    //作用:刷新文档
    function WebReFresh(){
      webform.WebOffice.WebReFresh();
      StatusMsg("文档已刷新...");
    }
    
    //作用:打印文档
    function WebOpenPrint(){
      try{
        webform.WebOffice.WebOpenPrint();
        StatusMsg(webform.WebOffice.Status);
      }catch(e){alert(e.description);}
    }
    
    
    //作用:存为本地文件
    function WebSaveLocal(){
      try{
        webform.WebOffice.WebSaveLocal();
        StatusMsg(webform.WebOffice.Status);
      }catch(e){alert(e.description);}
    }
    
    //作用:打开本地文件
    function WebOpenLocal(){
      try{
        webform.WebOffice.WebOpenLocal();
        StatusMsg(webform.WebOffice.Status);
      }catch(e){alert(e.description);}
    }
    
    //作用:保存为HTML文档
    function WebSaveAsHtml(){
      webform.WebOffice.WebUrl="$!path/servlet/DocController?method=saveDoc"; 
     
      try{
        if (webform.WebOffice.WebSaveAsHtml())  	//交互OfficeServer的OPTION="SAVEASHTML"
        {
        	//SaveDocument();
        }
       // StatusMsg(webform.WebOffice.Status);
      }catch(e){alert(e.description);}
    }
    
    //作用:客户端和服务器端信息信息交互
    function WebSendInformation(){
      var info = window.prompt("请输入要传到服务器处理页面上的内容:","参数内容");
      if (info==null){return false}
    
      webform.WebOffice.WebSetMsgByName("COMMAND","SELFINFO");		//设置变量COMMAND="SELFINFO",用来在服务器端做判断,以进入处理自定义参数传递的代码。
      webform.WebOffice.WebSetMsgByName("TESTINFO",info);			//自定义的一个参数"TESTINFO",将info变量的信息设置到信息包中,以便传到后台。
      if (webform.WebOffice.WebSendMessage()){						//向后台发信息包。交互OfficeServer的OPTION="SENDMESSAGE"。
        info = webform.WebOffice.WebGetMsgByName("RETURNINFO");		//如果交互成功,接受服务器端返回的信息。
    
      }
      else{
        StatusMsg(webform.WebOffice.Status);
      }
    }
    </script>	
      </head>
      <body bgcolor="#ffffff" onLoad="Load()" onUnload="UnLoad()">  <!--引导和退出iWebOffice-->
        <form name="webform" action="" method="post">
        	<center>
        		<input type="button" id="btnret" value="保存" οnclick="SaveDocument();"/>  
        		<input type="button" id="btnret" value="返回" οnclick="javascript:history.go(-1);" /> 
        	</center> 	
        	<script type="text/javascript">
    	    	var str = '';
    			str += '<object id="WebOffice" width="100%" height="100%"  classid="clsid:8B23EA28-723C-402F-92C4-59BE0E063499" codebase="$!path/main/cms/setup/iWebOffice2006.cab#version=7,6,0,2">';
    			str += '</object>';
    			document.write(str);
        	</script>
        	
        </form>
      </body>
    </html>


     

    后台保存的代码:

    	private void saveAsHtml(HttpServletRequest request, HttpServletResponse response,WebFile webFile,IDocEntity docEService)
    	{
    		String mOption = "";			
    		String mHtmlName = "";			
    		String mDirectory = "";
    		String fileType = "";
    		//文件保存路径		String filePath = docEService.getFilePath();
    		LoadStartDataManagerImpl loadStartDate = (LoadStartDataManagerImpl)ServiceFactory.findBean("loadStartData");
    		String filePath=loadStartDate.getBaseUrl()+loadStartDate.getKindeditorImagesPath();
    		String docPath=loadStartDate.getBaseUrl()+loadStartDate.getKindeditorFilePath();
    		fileType = webFile.GetMsgByName("FILETYPE").trim();
    		String mRecordID = webFile.GetMsgByName("RECORDID").trim();			//要对recordID进行判读
    		DocEntity docE = docEService.getDocEByID(mRecordID);
    		if (request.getMethod().equalsIgnoreCase("POST")) {			
    			if (webFile.GetMsgByName("DBSTEP").trim().equalsIgnoreCase("DBSTEP")) {
    				mOption = webFile.GetMsgByName("OPTION").trim();	
    				
    				//保存文档.doc
    				if (mOption.equalsIgnoreCase("SAVEFILE")) {
    					if (!(new File(docPath)).isDirectory())
    						(new File(docPath)).mkdirs();
    					webFile.MsgTextClear();
    					if (webFile.MsgFileSave(docPath+"/"+mRecordID+fileType)) {
    						webFile.MsgError("");
    						webFile.SetMsgByName("STATUS", "����HTML�ɹ�!");
    					} else {
    						webFile.MsgError("保存失败����HTMLʧ��!");
    					}
    					webFile.MsgFileClear();
    					webFile.MsgTextClear();
    				}
    				
    				//保存为html文档
    				if (mOption.equalsIgnoreCase("SAVEASHTML")) {
    					mHtmlName = webFile.GetMsgByName("HTMLNAME").trim();
    					mDirectory = webFile.GetMsgByName("DIRECTORY").trim();
    					if (!(new File(filePath)).isDirectory())
    						(new File(filePath)).mkdirs();
    					webFile.MsgTextClear();					
    					if (mDirectory.trim().equalsIgnoreCase(""))
    					{	
    						webFile.MakeDirectory(filePath);
    						//保存html文件																	
    						
    						if(docE == null)
    						{
    							docE = new DocEntity();
    							docE.setDocId(mRecordID);
    						}											
    						if (docEService.addDocE(MsgFileSaveH(docE,webFile))){								
    							File docFile = new File(filePath+"/"+ docE.getDocId()+".files");
    							try {
    								FileTools.deleteDir(docFile);
    							} catch (IOException e) {
    								e.printStackTrace();
    							}
    							webFile.MsgError("");
    						} else {
    							webFile.MsgError("����HTMLʧ��!");
    						}
    					}
    					else {
    						//保存图片文件
    						filePath = filePath +"/"+ mDirectory;
    						webFile.MakeDirectory(filePath);
    						
    						if (webFile.MsgFileSave(filePath + "/" + mHtmlName)) {
    							webFile.MsgError("");
    							webFile.SetMsgByName("STATUS", "����HTML�ɹ�!");
    							
    						} else {
    							webFile.MsgError("����HTMLʧ��!");
    						}
    					}
    					webFile.MsgFileClear();
    				}
    				
    			} else {
    				webFile.MsgError("�ͻ��˷�����ݰ����!");
    				webFile.MsgTextClear();
    				webFile.MsgFileClear();
    				
    			}
    		} else {
    			webFile.MsgError("��ʹ��Post����");
    			webFile.MsgTextClear();
    			webFile.MsgFileClear();
    		}
    		SendPackage(response, webFile);
    	}


     


    运行效果如下:

     

    の

     


     

     


     

    展开全文
  • 刚才测试了一下,确实能够在 Office 02~03 下(2007没有测试)排版一些标准和非标准(指个人习惯)的数学公式,这归功于使用 MiKTeX 编译环境(请看我在回帖中的注明,特别是机器已经安装有 LaTeX 系统,比如 CTeX ...
  • 第一章节【多选题】(10分)信息素养的基本构成具体包括( ABCD ) A. 信息知识 B. 信息意识 C. 信息能力 D. 信息道德2【多选题】(10分)信息意识具体包括( ABCD ) A. 充分认识到信息在学习、工作和生活中的重要...
  • Power BI 学习笔记(一)

    万次阅读 2018-04-02 21:04:35
    一.power BI简介 PowerBI是微软新一代的交互式报表工具,把相关的静态数据转换为酷炫的可视化的,能够根据filter条件,对数据执行动态筛选,从不同的角度和粒度上分析数据。 三大特点 1.可与多种数据源建立联系...
  • [转自老马的文章]用MODI OCR 21种语言

    万次阅读 2017-06-15 18:00:54
    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照《MODI中的OCR模块》一文相关内容进行修订2012.07.02按照新版Pdg2Pic的情况对内容进行补充2012.06.11标题从《在简体中文Office ...
  • 金格插件WebOffice2015使用体会

    万次阅读 2019-04-09 15:24:30
    最近一段时间,在项目中集成了WebOffice2015的插件。有些心得体会,在这里和大家分享一下,喜勿喷~~~~~~~~ 原项目中之前上传和下载附件集成的是WebOffice2003,由于新需求是实现文档(word)的在线编辑功能,所以...
  • 运行环境:WIN7 + iis6.1 开发环境:vs2012+SQL2005  问题1: http://axislover.blog.163.com/blog/static/10776515200832531059319/ http://bbs.csdn.net/topics/350233159 ...
  • FckEditor中文配置手册详细说明

    万次阅读 2008-01-18 14:33:00
    对于其他在线编辑器来说,这几乎是个很难解决的难题,因为在开启编辑器时需要装载太多的文件.比如CUTEEDITOR,虽然功能比FCKEDITOR还要强大,可是,它本身也够庞大了,至于FREETEXTBOX等,其易用性与FCKEDITOR相比,尚有差距...
  • Open XML 入门篇

    千次阅读 2008-06-02 23:48:00
    一、 OFFICE OPEN XML 简介 Office Open XML (OpenXML) 是一项针对字处理文档、演示文稿和电子表格的建议开放标准,可由多个应用程序在多个平台上自由地实施。不管是要实施支持该格式的应用程序的组织、采购此类...
  • 70-347 Exam thank wenxing for help  QUESTION 1 You are the Microsoft Lync administrator fora company that uses Lync Online. The companyhas mandated that employees may use Lync Online to commun
  • Office控件

    千次阅读 2013-10-17 15:32:19
    优道Office文档控件(UUDoc Office Document Control)是一款简单易用的Office文档控件产品,能够在浏览器和桌面应用程序中直接编辑Word、Excel、PPT、WPS、金山电子表格等文档并保存到Web服务器当中。和其它的...
  • VBA7的诞生-VBA将会继续存活下去

    千次阅读 2018-09-20 12:31:17
    Office2010发布以后,Office2010分成32位和64位两个版本,随之一起诞生的VBA7也和广大用户见面了,但由于当时64位系统普及率不够,使用64位Office广泛,当时微软也建议用户避开64位Office 2010,建议使用64...
  • 发布日期: 12/2/2004 | 更新日期: 12/2/2004Mark BukovecEmpire Down Development适用于:Microsoft® Office Visio® 2003摘要:学习将 Microsoft® Office Visio® 2003 ActiveX® 控件(即 Visio 绘图控件)...
  • Xwiki使用说明书

    千次阅读 2015-05-20 09:57:28
    XWIKI 使 用 说 明 书             2015-05-05     目录 1  用户管理... 2 1.1  添加用户... 2 1.2  用户分组... 3 1.3  ...用户权限......wiki管理权限......空间权限
  • Java动态生成word文档(图文并茂)

    千次阅读 2018-05-07 16:39:03
    很多情况下,软件开发者需要从数据库读取数据,然后将数据动态填充到手工预先准备好的Word模板文档里,这对于大批量生成拥有相同格式排版的正式文件非常有用,这个功能应用PageOffice的基本动态填充功能即可实现。...
  • (一)投稿前准备工作和需要注意的事项、投稿过程相关经验总结 投稿前准备工作和需要注意的事项: 总结提示语:1)第一作者和通信作者的区别: 通信作者(Corresponding author)通常是实际统筹处理投稿和承担...
  • 一般在OA办公系统及其它文档系统公文流转的过程中,多层上级要对下级撰写的公文进行逐级审批或修改,...在PageOffice的强制留痕模式下,用户对文档所做的任何修改都会以痕迹的形式保留下来,不同用户对文档做的修订...
1 2 3 4 5 ... 20
收藏数 4,573
精华内容 1,829
关键字:

pageoffice 不允许编辑