免费 WebOffice使用
- 目前WebOffice使用比较多主要有两个公司的产品,分别是江西金格和北京点聚。但是点聚的是免费的,虽然有欠缺之处,但是经过个人修改还是比较好用的,关键一点是,它免费啊!
- 把一个最主要加载页面,如果读懂了这个页面的使用,其他的相当就好理解了。
- (如果需要组件和源码的给我留言)
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DocEdit.aspx.cs" Inherits="DocEdit" %>
- <%@ Import Namespace="System.Data.OleDb"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>编辑正文</title>
- <!-- 编辑控件主要集中在此页面 -->
- </head>
- <body>
- <form name="myform" action="#" method="post">
- <% //获取服务器的地址
- string URL = this.Session["URL"].ToString();
- string ID;
- string DocType;
- string DocTitle = "";
- //起草文件,则ID为NULL,否则为记录的主键
- ID = Request.QueryString["ID"];
- if (ID == null || ID == "")
- {
- //获取新建文件的类型
- DocType = Request.Form["DocType"];
- }
- else
- {
- //获取DocTitle
- DocTitle = Request.QueryString["DocTitle"];
- //获取文件的 类型
- DocType = Request.QueryString["DocType"];
- }
- //默认为word文档,如果异常进入则按word处理,组织部基本处理的都是word
- if (DocType == null || DocType == "")
- {
- DocType = "doc";
- }
- %>
- <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
- <TR>
- <TD bgColor=#3366cc><IMG height=1 alt="" width=1></TD>
- </TR>
- </TABLE>
- <table style="width: 100%" border = "0" cellpadding="0" cellspacing="0">
- <tr>
- <td valign="top" bgColor="#e5ecf9" style="height: 21px;"><p align="left"><b><strong>WebOffice演示</strong></b>
- </p></td>
- </tr>
- </table>
- <br /> <br />
- <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#3366cc">
- <tr bgcolor="#FFFFFF">
- <td bgcolor="#ffffff" rowspan="2">
- <div align="center"><strong>标题</strong></div>
- </td>
- <td rowspan="2">
- <input name="DocTitle" value= "<%if(DocTitle=="" ) {Response.Write("text");} else {Response.Write(DocTitle);} %>" size="14" id="Text1"/></td>
- <td rowspan="2" >
- <input name="DocFilePath" type="file" size="34" />
- <input type="button" value="打开本地文件" onclick="return docOpen()" id="Button1" style="width: 115px" /></td>
- <td rowspan="2" bgcolor="#FFFFFF" style="width: 344px"><div align="center">
- <input type="button" class="btn" value="显示最终文稿" onclick="return UnShowRevisions()" />
- <input type="button" value="从服务器下载" onclick="return WebOffice1_NotifyCtrlReady()" style="width: 96px"/>
- <input type="button" value="上传到服务器" onclick="return SaveDoc()" style="width: 98px"/>
- <input type="button" style="display:none" value="返回" onclick="return return_onclick()"/></div></td>
- </tr>
- <tr bgcolor="#FFFFFF">
- </tr>
- <tr bgcolor="#FFFFFF">
- <td valign="top" bgcolor="#FFFFFF" style="height: 560px">
- <!-- -------------------=== Start 嵌套Table ===------------------------------- -->
- <table width="100%" border="0" cellpadding="0">
- <tr>
- <td class="maintxt">用户名:<br />
- <input name="UserName" type="text" value="Test" style="width:74px;" maxlength="10" /><br />
- <input type="button" value="设置用户" onclick="return SetUserName()" class="btn" /></td>
- </tr>
- <tr><td class="maintxt">
- <hr size="1" />保护密码:<br />
- <input name="docPwd" type="text" value="Password" style="width:74px;" maxlength="10" /><br />
- <input type="button" class="btn" value="保护文档" onclick="return ProtectFull()" /></td>
- </tr>
- <tr><td><input type="button" class="btn" value="解除保护" onclick="return UnProtect()" /></td></tr>
- <tr><td>
- <hr size="1" />
- <input type="button" class="btn" value="修订文档" onclick="return ProtectRevision()" /></td>
- </tr>
- <tr><td><input type="button" class="btn" value="显示修订" onclick="return ShowRevisions()" /></td></tr>
- <tr><td><input type="button" class="btn" value="隐藏修订" onclick="return UnShowRevisions()" /></td></tr>
- <tr><td><input type="button" class="btn" value="接受修订" onclick="return AcceptAllRevisions()" /></td></tr>
- <tr><td>
- <hr size="1" />
- <input type="button" class="btn" value="设置书签" onclick="return addBookmark()" /></td>
- </tr>
- <tr>
- <td rowspan="4">
- <input type="button" class="btn" value="套加红头" onclick="return addRedHead()" /></td>
- </tr>
- </table>
- <!-- -------------------=== End 嵌套Table ===------------------------------- -->
- <select id="Select1" name="select" style="width: 83px">
- <option selected="selected" value="<%=URL %>/template/tmp1.doc">部模板1</option>
- <option value="<%=URL %>/template/tmp2.doc">市模板1</option>
- <option value="<%=URL %>/template/tmp3.doc">县模板1</option>
- </select>
- </td>
- <td colspan="3" valign="top" style="height: 560px">
- <!-- -----------------------------== 装载weboffice控件 ==----------------------------------->
- <script src="LoadWebOffice.js"></script>
- <!-- --------------------------------== 结束装载控件 ==------------------------------------->
- </td>
- </tr>
- </table>
- <br /> <br />
- <table style="width: 100%" border = "0" cellpadding="0" cellspacing="0">
- <tr>
- <td valign="top" bgColor="#e5ecf9" ><span style="color: red">服务器地址:<%=this.Session["URL"].ToString() %> </span>
- </td>
- </tr>
- </table>
- <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
- <TR>
- <TD bgColor=#3366cc><IMG height=1 alt="" width=1></TD>
- </TR>
- </TABLE>
- </form>
- </body>
- </html>
- <script language="javascript" type="text/javascript">
- // ---------------------== 关闭页面时调用此函数,关闭文档--------------------- //
- function window_onunload() {
- document.all.WebOffice1.Close();
- }
- // ---------------------------== 解除文档保护 ==---------------------------------- //
- function UnProtect() {
- document.all.WebOffice1.ProtectDoc(0,1, myform.docPwd.value);
- }
- // ---------------------------== 设置文档保护 ==---------------------------------- //
- function ProtectFull() {
- document.all.WebOffice1.ProtectDoc(1,1, myform.docPwd.value);
- }
- // -----------------------------== 修订文档 ==------------------------------------ //
- function ProtectRevision() {
- document.all.WebOffice1.SetTrackRevisions(1)
- }
- // -----------------------------== 隐藏修订 ==------------------------------------ //
- function UnShowRevisions() {
- document.all.WebOffice1.ShowRevisions(0);
- }
- // --------------------------== 显示当前修订 ==---------------------------------- //
- function ShowRevisions() {
- document.all.WebOffice1.ShowRevisions(1);
- }
- // -------------------------== 接受当前所有修订 ------------------------------ //
- function AcceptAllRevisions() {
- document.all.WebOffice1.SetTrackRevisions(4);
- }
- // ---------------------------== 设置当前操作用户 ==------------------------------- //
- function SetUserName() {
- if(myform.UserName.value ==""){
- alert("用户名不能为空");
- myform.UserName.focus();
- return false;
- }
- document.all.WebOffice1.SetCurrUserName(myform.UserName.value);
- }
- // -------------------------=== 设置书签套加红头 ===------------------------------ //
- function addBookmark() {
- document.all.WebOffice1.SetFieldValue("mark_1", "安徽省委组织部红头文件::ADDMARK::");
- }
- // -------------------------=== 设置书签套加红头 ===------------------------------ //
- function addRedHead() {
- if(document.getElementById("Select1").value == "")//判断是否选择模板
- {
- alert("请选择模板!")
- return false;
- }
- document.all.WebOffice1.SetFieldValue("mark_1", "", "::ADDMARK::"); // 添加书签
- document.all.WebOffice1.SetFieldValue("mark_1", document.getElementById("Select1").value, "::FILE::");
- }
- // -----------------------------== 返回首页 ==------------------------------------ //
- function return_onclick() {
- document.all.WebOffice1.Close();
- window.location.href = "Default.aspx"
- }
- // 打开本地文件
- function docOpen() {
- //alert(myform.DocFilePath.value)
- if(myform.DocFilePath.value == "") {
- alert("文件路径不可以为空");
- myform.DocFilePath.focus();
- return false;
- }
- var flag;
- //LoadOriginalFile接口装载文件
- flag = document.all.WebOffice1.LoadOriginalFile(myform.DocFilePath.value,"<%=DocType%>");
- if( 0 == flag){
- alert("文件打开失败,请检查路径是否正确");
- myform.DocFilePath.focus();
- return false;
- }
- }
- // -----------------------------== 保存文档 ==------------------------------------ //
- function SaveDoc() {
- if(myform.DocTitle.value ==""){
- alert("标题不可为空")
- myform.DocTitle.focus();
- return false;
- }
- //恢复被屏蔽的菜单项和快捷键
- document.all.WebOffice1.SetToolBarButton2("Standard",1,3);
- document.all.WebOffice1.SetToolBarButton2("Standard",2,3);
- document.all.WebOffice1.SetToolBarButton2("Standard",3,3);
- document.all.WebOffice1.SetToolBarButton2("Standard",6,3);
- <%if (DocType == "doc") {%>
- //恢复文件菜单项
- document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,4);
- //恢复 保存快捷键(Ctrl+S)
- document.all.WebOffice1.SetKeyCtrl(595,0,0);
- //恢复 打印快捷键(Ctrl+P)
- document.all.WebOffice1.SetKeyCtrl(592,0,0);
- <%}else if(DocType == "xls") {%>
- //恢复文件菜单项
- document.all.WebOffice1.SetToolBarButton2("Worksheet Menu Bar",1,4);
- <%} %>
- //初始化Http引擎
- document.all.WebOffice1.HttpInit();
- //添加相应的Post元素
- <%
- if(ID != ""){
- %>
- document.all.WebOffice1.SetTrackRevisions(0);
- document.all.WebOffice1.ShowRevisions(0);
- document.all.WebOffice1.HttpAddPostString("ID","<%=ID%>");
- <%
- }
- %>
- document.all.WebOffice1.HttpAddPostString("DocTitle", myform.DocTitle.value);
- document.all.WebOffice1.HttpAddPostString("DocType","<%=DocType%>");
- //把当前文档添加到Post元素列表中,文件的标识符䶿DocContent
- document.all.WebOffice1.HttpAddPostCurrFile("DocContent",""); // 涓婁紶鏂囦欢
- var vtRet;
- //HttpPost执行上传的动仿WebOffice支持Http的直接上传,在upload.aspx的页面中,解析Post过去的数慿
- //拆分出Post元素和文件数据,可以有选择性的保存到数据库中,或保存在服务器的文件中⾿
- //HttpPost的返回值,根据upload.aspx中的设置,返回upload.aspx中Response.Write回来的数据
- vtRet = document.all.WebOffice1.HttpPost("<%=URL %>/upload.aspx");
- //alert(vtRet.Trim());
- if(vtRet.Trim() == "succeed"){
- alert("文件上传成功");
- }else{
- alert("文件上传失败");
- }
- //return_onclick();
- }
- //-->
- </script>
- <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
- <!--
- //实现Trim,LTrim和RTrim的功能
- String.prototype.Trim = function()
- {
- return this.replace(/(^\s*)|(\s*$)/g, "");
- }
- String.prototype.LTrim = function()
- {
- return this.replace(/(^\s*)/g, "");
- }
- String.prototype.RTrim = function()
- {
- return this.replace(/(\s*$)/g, "");
- }
- function WebOffice1_NotifyCtrlReady() {
- //LoadOriginalFile接口装载文件,
- //如果是编辑已有文件,则文件路径传给LoadOriginalFile的第一个参数
- alert("终于执行这里了!");
- <%
- if (ID == null || ID==""){
- %>
- document.all.WebOffice1.LoadOriginalFile("","<%=DocType%>");
- <%}
- else
- {%>
- // document.all.WebOffice1.LoadOriginalFile("<%=URL %>/GetDoc.aspx?ID=<%=ID%>","<%=DocType%>");
- //alert("<%=URL %>/GetDoc.aspx?ID=yangweili1");
- document.all.WebOffice1.LoadOriginalFile("<%=URL %>/GetDoc.aspx?ID=yangweili1","doc");
- alert("加载成功了!");
- document.all.WebOffice1.SetTrackRevisions(1);
- document.all.WebOffice1.ShowRevisions(1);
- <%}%>
- //屏蔽标准工具栏的前几个按钮
- document.all.WebOffice1.SetToolBarButton2("Standard",1,1);
- document.all.WebOffice1.SetToolBarButton2("Standard",2,1);
- document.all.WebOffice1.SetToolBarButton2("Standard",3,1);
- document.all.WebOffice1.SetToolBarButton2("Standard",6,1);
- <%if (DocType == "doc") {%>
- //屏蔽文件菜单项
- document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,1);
- //屏蔽 保存快捷键(Ctrl+S)
- document.all.WebOffice1.SetKeyCtrl(595,-1,0);
- //屏蔽 打印快捷键(Ctrl+P)
- document.all.WebOffice1.SetKeyCtrl(592,-1,0);
- <%}else if(DocType == "xls") {%>
- //屏蔽文件菜单项
- document.all.WebOffice1.SetToolBarButton2("Worksheet Menu Bar",1,1);
- <%} %>
- }
- //-->
- </SCRIPT>
- <!-- --------------------=== Weboffice初始化完成事件--------------------- -->
- <SCRIPT LANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyCtrlReady>
- <!--
- WebOffice1_NotifyCtrlReady() // 在装载完Weboffice(执行<object>...</object>)控件后自动执行WebOffice1_NotifyCtrlReady方法
- //-->
- </SCRIPT>
免费 WebOffice使用的更多相关文章
- 点聚-weboffice 6.0 (一)
WebOffice是一款由北京点聚信息技术有限公司提供的完全免费(商业用途也免费)且功能强大的在线Word/excel/wps编辑辅助控件,可以实现:1.在线编辑Word.Excel.PPT.WPS. ...
- C# 10分钟入门基于WebOffice实现在线编辑文档,实时保存到服务器(所有office,兼容WPS)
今天,他来了(weboffice在线编辑文档). 上次写了一个在线预览的博,当然,效果并不是太理想,但是紧急解决了当时的问题. 后来,小编重新查找资料,求助大牛,终于使用新的方式替换了之前的low方法 ...
- 一个免费的、跨平台的、开源音频编辑器Audacity
Audacity 是一个免费的开源程序,用于编辑音频录制.它可在多个平台(windows/linux)上运行.Audacity 基于 GUI,是一个具有多种选项的强大程序.它支持您录制各种类型的声音. ...
- 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】
今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...
- 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)
在这个.NET组件的介绍系列中,受到了很多园友的支持,一些园友(如:数据之巅. [秦时明月]等等这些大神 )也给我提出了对应的建议,我正在努力去改正,有不足之处还望大家多多包涵.在传播一些简单的知识的 ...
- 免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
前面介绍了六种.NET组件,其中有一种组件是写文件的压缩和解压,现在介绍另一种文件的解压缩组件SharpZipLib.在这个组件介绍系列中,只为简单的介绍组件的背景和简单的应用,读者在阅读时可以结合官 ...
- 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)
很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...
- 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)
很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...
- 免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
在生活中有一种东西几乎已经快要成为我们的另一个电子”身份证“,那就是二维码.无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码.二维码 (dimensional barcode) , ...
随机推荐
- git 恢复丢失的文件-- 不提交入口文件
务必进入当前controller下面,才能恢复 git checkout HEAD TestController.class.php 01备份index.php文件 02使用 小乌龟的git 删除 t ...
- ubuntu 调试库
.安装带有调试信息的libc: sudo apt-get install libc6-dbg .下载libc源码 a.选定一个放置源码的目录并进入,如 /home/kent/dev-os/libc6- ...
- Twitter Storm源代码分析之Nimbus/Supervisor本地目录结构
storm集群里面工作机器分为两种一种是nimbus, 一种是supervisor, 他们通过zookeeper来进行交互,nimbus通过zookeeper来发布一些指令,supervisor去读z ...
- hellobruce
- .Net Core 常见问题整理
1.安装时报0x80070490 找不到元素 这里应该是vs只装了web没有装c++ 下载一个 VC_redist.x64.exe 安装就行了 https://github.com/dotnet/co ...
- C/C++ - <string> 与<string.h>、<cstring>的区别
<string.h><string.h>是C版本的头文件,包含比如strcpy.strcat之类的字符串处理函数. <string><string>是C ...
- 在Javascript中什么是伪数组?如何将伪数组转化为标准数组?
答案: 伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们.典型的是函数的argument参数,还有像调用getElementsByTa ...
- 【其他】MySql数据库的安装与卸载
一.安装 1.首先下载安装包,包含服务端和客户端 2.添加用户组.用户 secondary1:~ # groupadd mysql secondary1:~ # useradd -g mysql -d ...
- Activity间切换的动画应用
Activity切换过程中,系统会使用一些默认的动画,显得切换过程不至于太呆板. 在frameworks/base/core/res/res/values下的stlyes.xml文件中有具体的定义各个 ...
- windows service and process 的关系
1.查询windows 对应的服务 sc query > 1.txt notepad 1.txt 2.查询对应的进程信息 tasklist /m > tasks.txt notepad t ...