点聚Weboffice IE 上的用法:

Weboffice7文件夹是weboffice的文件:

.cab是一个压缩形式的文件,里面包含了安装信息,IE会自动安装。

Main.js是weboffice的方法接口集合。其他的是我自己写的js方法;

从页面开始展示代码:

HTML:

EditContract.aspx;(无后台代码)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EditContract.aspx.cs" Inherits="WebApplication1.EditContract" %><!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 id="Head1" runat="server"><title>在线编辑</title><script src="/tmp/weboffice7/main.js" type="text/javascript"></script><script src="/tmp/jquery-1.8.2.min.js" type="text/javascript"></script><script src="/tmp/EditContract.js" type="text/javascript"></script></head><body><form id="form1" runat="server"><div  ><input type="button" value="全屏" onclick="showFullScreen()" id="btnFullScreen" /><input type="button" value="保存" onclick="SaveFile()" id="btnSave" /><input type="button" value="保护文档" onclick="ProtectFull()" id="ProtectFull" /><input type ="hidden" value="<%=filename %>" id = "url" /></div><div><SCRIPT src="/tmp/weboffice7/LoadWebOffice.js"></SCRIPT></div></form></body>

Js代码:

LoadWebOffice.js:

var s = ""
s += "<object id=WebOffice1 height=768 width='100%' style='LEFT: 0px; TOP: 0px;z-index:-99;'  classid='clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5' codebase='/tmp/weboffice7/WebOffice.cab#Version=7,0,1,0'>"
s +="<param name='_ExtentX' value='6350'><param name='_ExtentY' value='6350'>"
s +="</OBJECT>"
document.write(s)

EditContract.js:

//==========================公共变量====================
var webObj;         //weboffic对象
var docSaveUrl;     //网络路径
var filePath = "/Upload/"; //文件夹
var doctype = ".doc";//文件类型
var contract_name; //word文件名称//==========================初始化======================
$(document).ready(function () {webObj = document.getElementById("WebOffice1");docSaveUrl = document.URL;contract_name = '设备买保技术协议标准';LoadFile(); //加载显示word文件hide_toolBar(); //隐藏工具栏ProtectFull(); //设置文档保护 (word在线编辑含有保护文档的word防止部分可编辑部分不可编辑失效执行的)
});
//加载显示word文件
function LoadFile() {try {var savePath = docSaveUrl.substring(0, docSaveUrl.lastIndexOf("/"));//判断文件是否存在if (isExistFile(savePath + filePath + contract_idname + ".docx")) {webObj.LoadOriginalFile(savePath + filePath + contract_idname + ".docx", doctype);} else {alert('未找到该文件!');}} catch (e) {alert("异常\r\nError:" + e + "\r\nError Code:" + e.number + "\r\nError Des:" + e.description);}
}//判断文件是否存在
function isExistFile(url) {var xmlhttp;if (window.XMLHttpRequest) {xmlhttp = new XMLHttpRequest(); //其他浏览器    }else if (window.ActiveXObject) {try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); //旧版IE    }catch (e) { }try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //新版IE    }catch (e) { }if (!xmlhttp) {window.alert("不能创建XMLHttpRequest对象");}}yourFileURL = url;xmlhttp.open("GET", yourFileURL, false);xmlhttp.send();if (xmlhttp.readyState == 4) {if (xmlhttp.status == 200)return true; //url存在     else//url不存在return false;}
}
//全屏方法
function showFullScreen() {try {webObj.FullScreen = true;} catch (e) {alert("异常\r\nError:" + e + "\r\nError Code:" + e.number + "\r\nError Des:" + e.description);}
}
//隐藏菜单
function notMenu() {try {webObj.HideMenuAction(1, 0x100000 + 0x200000 + 0x400000 + 0x800000 + 0x1000000 + 0x2000000 + 0x4000000 + 0x8000000 + 0x10000000);webObj.HideMenuAction(5, 0); //激活设置} catch (e) {alert("异常\r\nError:" + e + "\r\nError Code:" + e.number + "\r\nError Des:" + e.description);}
}
/****************************************************
*
*               设置文档保护
*
****************************************************/
function ProtectFull() {try {document.all.WebOffice1.ProtectDoc(1, 1, "abc123!!");} catch (e) {alert("异常\r\nError:" + e + "\r\nError Code:" + e.number + "\r\nError Des:" + e.description);}
}/****************************************************
*
*   ---隐藏office菜单或功能区
*
/*****************************************************/function hideAll() {document.all.WebOffice1.HideMenuArea('hideall', '', '', '');
}//隐藏工具栏
function hide_toolBar() {try {document.all.WebOffice1.HideMenuArea('hideall', '', '', '');document.all.WebOffice1.ShowToolBar = 0notMenu();} catch (e) {}
}
//上面的方法实现了在线显示编辑
//保存的话下面参考
//保存word,同时保存服务器,FTP,数据库(后台实现)
function SaveFile() {try {if (webObj.IsSaved() != 0) { //0已被修改,非0未被修改alert("没有内容被修改!");return;}var savePath = docSaveUrl.substring(0, docSaveUrl.lastIndexOf("/"));var returnValue;  // 保存页面的返回值 webObj.HttpInit(); // 初始化Http引擎 //------------------------传递到后台的值--参数自己设置webObj.HttpAddPostString("DocName", file_name);  // 添加相应的Post元素webObj.HttpAddPostString("Contract_ID", contract_id);webObj.HttpAddPostString("user_id", user_id);webObj.HttpAddPostString("user_name", user_name);webObj.HttpAddPostString("contract_name", escape(contract_name));//-------------------------escape(contract_name)防止传递汉字在后台获取乱码问题webObj.HttpAddPostCurrFile("DocContent", "");   returnValue = webObj.HttpPost(savePath + "/Upload.aspx"); //提交并返回if (returnValue != "" || returnValue != null) {ProtectFull();alert("保存成功");}else {alert("保存失败")}} catch (e) {alert("异常\r\nError:" + e + "\r\nError Code:" + e.number + "\r\nError Des:" + e.description);}
}//======================== 方法 END==========================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data.Common;
using System.Data;
using System.Configuration;namespace WebApplication1.UI.EditContract
{public partial class Upload : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){try{string url = "http://" + Request.ServerVariables["HTTP_HOST"].ToString() + Request.ServerVariables["PATH_INFO"].ToString();  //获得URL的值int i = url.LastIndexOf("/");url = url.Substring(0, i);Response.Clear();//获取参数的方法string ID = Request.Params["Contract_ID"];string DocTitle = HttpUtility.UrlDecode(Request.Params["DocName"]);string user_id = Request.Params["user_id"];string user_name = Request.Params["user_name"];string contract_name = HttpUtility.UrlDecode(Request.Params["contract_name"]);FileEntity docmodel = new FileEntity();HttpPostedFile upPhoto = Request.Files[0];string fileName = Path.GetFileName(upPhoto.FileName);//保存为时间戳的文件名//string fname = DateTime.Now.ToString("yyyyyMMddHHmmss") + "." + "docx";//保存自己的传过来的文件名string fname = contract_name + "." + "docx";if (fileName != null){string uurl = MapPath("Uploadsave/") + fname;string uurlread = MapPath("Uploadread/") + fname;//将路径存数据库的字段中//string sqlInserted = @"sql语句";//int S = gateway.FromCustomSql(sqlInserted)//实例化Ftp方法这里保存了两份文件一份只读一份可写//AgreementTools at = new AgreementTools();//保存上传可写文档upPhoto.SaveAs(uurl);//at.FTP_UPFILE(uurl, fname, "notread");//保存上传只读文档upPhoto.SaveAs(uurlread);//设置文件为只读if (File.Exists(uurlread)){File.SetAttributes(uurlread, FileAttributes.ReadOnly);}//at.FTP_UPFILE(uurlread, fname, "read");Response.Write(uurl);}}catch (Exception ex){Response.Write(ex);}Response.End();}}
}

ps:保护文档的部分编辑的文档和可编辑的文档显示为不可编辑,文件要为只读

/****************************************************
*
*               设置文档保护
*
****************************************************/
function ProtectFull() {try {//alert(1111111);document.all.WebOffice1.ProtectDoc(1, 2, "abc123!!");} catch (e) {alert("异常\r\nError:" + e + "\r\nError Code:" + e.number + "\r\nError Des:" + e.description);}
}

ProtectDoc方法第二个参数改为2

ProtectDoc方法参数可看开发文档;

weboffice功能的实现:在线编辑,保护文档部分编辑,显示,下载相关推荐

  1. 10个免费在线拆分PDF文档的网站,简单易用!

    我们都接触过PDF文档,从电子书.手册.发票到银行对账单,数字世界要求格式标准化,而 PDF已经很好地发挥了它的作用. 但是,出于各种原因,我们经常要对PDF文档进行二次编辑,最常见的功能之一是将多个 ...

  2. 在线合并Excel文档的HTML网页工具

    构建一个在线合并Excel文档的HTML网页工具 导语: 在本篇技术分享文章中,我将向您展示如何使用HTML.CSS和JavaScript构建一个功能强大的在线合并Excel文档的网页工具.这个工具可 ...

  3. 在线编辑Office文档软件——WebOffice,常见问答来帮你!

    WebOffice控件是国内领先的在线编辑Office文档软件,软件产品从1998年立项至今已有20多年历史,期间服务了众多大中小型企业.各级政府机关.科研机构和学校等事业单位.全新的WebOffic ...

  4. 在线编辑word文档,weboffice在线操作word文档

    在线操作编辑word文档已经是时下ERP和OA系统必须要实现的功能点之一. 下面就来详细讲解一下weboffice是如何实现的. 这里只做简单的程序讲解,原理性的东西不做过分的赘述. 不管你是ajax ...

  5. 在线编辑office文档笔记

    了解到的相关office在线编辑工具 一.weboffice 收费 通过activeX在浏览器上实现,在其他浏览器兼容性比较差:集成了盖章.套红等功能 二.pageoffice 收费(3种收费中功能最 ...

  6. java 调用office_JAVA调用PageOffice在线打开、编辑Word文档

    普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果. 下面我就简单的和大家分享一下如何实现Word文档的 ...

  7. vvv在线文档导出工具_一款真正实时的在线文档协作编辑工具,多人可同时对一份文件修改...

    etherpad-lite 一个非常实时的网络协作文字处理器 Etherpad是一款真正实时的协作编辑器,可扩展到数千个同步实时用户. 与所有其他协作工具不同,Etherpad提供完全保真的数据导出和 ...

  8. 在线编辑word文档 可保存到服务器(转)

    使用说明:该方法只在office xp 和 2003上 测试通过,2000及以下 版本没试. 注意:你要打开的服务器端的word文档要有写权限.iis要开起 web服务扩展中的webdav为允许 具体 ...

  9. Vue或uniapp使用luckysheet免费开发多人在线编辑Excel文档

    前言 一直想用uniapp开发个在线多人编辑Excel文档的APP,苦于一直没找到免费的开源库,今天心血来潮,和大神聊起知道有luckysheet这么个免费的东东,看了文档,还挺合适.立即撸起.虽说是 ...

最新文章

  1. OpenCV代码提取:Windows上通过DShow获取Camera视频
  2. web页面到ajax,页面使用ajax加载页面后如果运行其中的js,webpack如何多页面展示...
  3. 为github帐号添加SSH keys
  4. 轻松搞定vmware + win2003Cluste
  5. Python--day21--包
  6. css多重背景教程,多重背景的CSS动画
  7. react-router中进行路由控制
  8. julia: 如何序列化和反序列化?
  9. 齐杰文学CMS - 关关采集器2021可用19条采集规则
  10. php占市场份额,PHP 目前的市场占用率(Market Share)
  11. 程序员学算法必备网站之一:VisuAlgo
  12. 论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation
  13. python化学公式配平_配平化学方程式的C++代码实现
  14. 目标检测 | 盘点提升小目标检测的思路
  15. 七牛服务器提供的压缩图片的方法
  16. 【2022省选模拟】叮叮车——卡特兰数、数位DP
  17. 28岁学Java晚不晚?快30学java还来得及吗?
  18. 《全程软件测试》读书心得
  19. 训练好的深度学习模型是怎么部署的?
  20. Python项目对接CAS方案

热门文章

  1. Ubuntu下Qemu安装Debian Mipsel
  2. itoa进制转换函数
  3. android系统 默认颜色
  4. HTML怎么CSS表格嵌套,CSS#/ HTML5 Chrome中的嵌套表格和子填充
  5. Flutter应用使用插件报错问题
  6. 获取字符长度并控制字数和行数(超出显示..., 悬浮显示所有内容)
  7. R语言学习笔记——入门篇:第三章-图形初阶
  8. 2022R2移动式压力容器充装考试试题模拟考试平台操作
  9. 2021年R2移动式压力容器充装考试题库及R2移动式压力容器充装最新解析
  10. 跨境牛facebook营销系统的终极玩法