有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法。
在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“Program Files\MicrosoftOffice\OFFICE11\owssupp.dll”。通过这个控件,客户端页面上的JavaScript就可以激活本地的Office软件,来实现打开、编辑Office文档。(另,Office XP应该就已经包含这个ActiveX控件了。)
首先,用Script创建一个本地的对象:
openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2"); // 为了兼容Office XP,可以创建“SharePoint.OpenDocuments.1”
然后,调用openDocObj的相应的方法。比如打开服务器上的一个Office文档:
openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc");
openDocObj对象会根据参数中不同的Office文档类型(.doc、.xls、.ppt)来打开不同的程序(Word、Excel、PowerPoint)。ViewDocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:
openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc", 要激活的程序的ProgID);
那么要打开Office程序在线编辑文件又如何?
openDocObj.EditDocument("http://www.abc.com/documents/sample.doc");
就可以直接激活Word,在Word里面编辑文档,然后直接点击Word里面的保存功能,就可以将文件保存会服务器上了。注意:为了让Word能将编辑后的文档直接保存会服务器,访问Web站点的当前上下文的WindowsIdentity必须对服务器的相应目录(即“http://www.abc.com/documents”这个虚拟目录所对应的服务器上的物理路径)有相应的写权限,否则保存动作会失败。编辑完成后,EditDocument()会返回一个bool值,来反映编辑操作是否成功。
我们还可以通过打开服务器上的一个文档模版,来创建一个新的文档:
openDocObj.CreateNewDocument("http://www.abc.com/documents/sampleTemplate.dot", "http://www.abc.com/documents/");
就可以使用“http://www.abc.com/documents/sampleTemplate.dot”这个模版来创建一个新的文档,默认新文档的保存地点是“http://www.abc.com/documents/”。创建新文档时使用的程序取决于模版文件的类型(比如.dot模版会对应Word)。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。CreateNewDocument()方法的第一个参数,除了可以使用一个模版的地址外,还可以直接指定为希望用来创建新文档的客户端程序的ProgID。
http://www.css-js.com/thread-2264-1-1.html
分享到:
相关推荐
在线阅读PDF可借助Google Docs或PDF.js这样的JavaScript库。对于开发需求,可以使用PDF.js、PDFBox或iText等库来处理PDF内容。 Excel文件用于电子表格和数据分析,读取Excel文件通常使用Microsoft Excel或...
JavaScript Word 插件是一种在网页端处理文档的强大工具,它允许用户在浏览器环境中创建、编辑和操作Microsoft Word文档。在现代Web应用中,这种技术尤其适用于在线协作、文档分享和远程工作场景。以下是对这个“js ...
// 处理doc文件 HWPFDocument doc = new HWPFDocument(new FileInputStream(filename)); // 转换为HTML或图片 } else if (filename.endsWith(".docx")) { // 处理docx文件 XWPFDocument docx = new ...
//制定用Word来打开c:\plain.txt文件 document.all.FramerControl1.Open("C:\\Plain.txt",false, "Word.Document"); //打开服务器的文件 document.all.FramerControl1.Open ...
DSOFramer是一款专为网页集成Word编辑功能而设计的控件,它允许用户在浏览器环境中直接打开、编辑、保存Word文档,极大地提升了Web应用的交互性和用户体验。 **DSOFramer控件的工作原理** DSOFramer控件是基于...
另一种方法是使用`SharePoint.OpenDocuments.1`对象,它可以用来打开Word文档并编辑: ```javascript function doword() { var WordApp = new ActiveXObject("Word.Application"); WordApp.Application.Visible =...
在这个"ASP.NET在线打开Office 文件实例"中,我们将探讨如何利用ASP.NET实现用户在Web浏览器中直接预览和编辑Office文档,如Word、Excel和PowerPoint等。 首先,我们要理解Web Apps或Office Online的概念。Web Apps...
标题中的“在网页中编辑office word excel文件_效果跟office word一模一样”指的是使用特定技术在Web页面上实现与Microsoft Office(Word和Excel)几乎相同的编辑体验。这种技术允许用户在网页上直接处理Office文档...
在线导出Word文件是Web应用中常见的功能,它允许用户在网页上操作并直接将结果保存为Microsoft Word文档。这一过程涉及到多个技术层面,包括前端交互、后端处理以及文件格式转换。以下是对这一主题的详细阐述: 1. ...
在线编辑Word文档是一种常见的需求,尤其在协作办公和云端存储日益普及的今天。Weboffice是一款能够实现这一功能的工具,它允许用户通过浏览器直接处理Microsoft Word文档,无需安装任何桌面应用程序。这篇博文...
NTKO OFFICE文档控件能够在浏览器窗口中直接编辑Word,Excel,Wps等Office文档并保存到任意Web服务器。实现文档和电子表格的统一管理。同时支持强制痕迹保留,手写签名,电子印章,版本控制,附件上传等办公自动化系统...
标题提到的“PDF转Word(互转)”着重强调了这个过程的无损转换,确保转换后的DOC文件能保持原有的编辑格式。在描述中,提到了对某些转换工具(如迅捷)的不满,因为它们可能无法完美地保留原始文档的样式和布局,...
在JavaScript中,我们可以使用一些库或者API来实现导出Word文档的功能。这通常涉及到将HTML内容转换为Word格式,以便用户可以下载或保存。在这个场景中,我们需要关注的关键知识点是“默认页面视图”、“横向显示”...
### 如何在Web页面上直接打开、编辑、创建Office文档 在现代办公环境中,能够直接在Web页面上打开、编辑甚至是创建Office文档是一项非常实用的功能。这种能力不仅可以提高工作效率,还能增强用户的工作体验。本文将...
5. **兼容性处理**:确保转换后的Word文档在不同的Word版本上都能正常打开,可能需要对某些特定的Word特性进行处理。 6. **测试和验证**:最后,测试转换后的Word文档,确保所有图片和格式都正确无误,离线环境下也...
代码可能涉及打开Word文件、解析其内容、构建PDF结构并保存为新文件。 6. **注意事项**: - 转换时要考虑字体兼容性,确保PDF生成后所有文字能正确显示。 - 图片、表格和特殊格式可能在转换过程中丢失或变形,需...
本篇文章将深入探讨如何使用Java技术栈,特别是Apache POI和iTextPDF库,来实现doc、xls(包括旧版的Excel 2003和新版本的Excel 2007+)以及txt、图片等多种格式的文件转换为PDF,并且实现在线浏览的功能。...
标题中的“有js脚本编写的在线编辑器”指的是使用JavaScript编程语言开发的富文本编辑器,这种编辑器允许用户在网页上实现类似Word的文本编辑功能,包括格式化文本、插入图片、链接、多媒体等内容。JavaScript是...
8. **.doc** - 这是Microsoft Word文档,使用Word或兼容的文档处理软件(如LibreOffice Writer)打开。 9. **.dwg** - 这是AutoCAD的设计文件,需用AutoCAD软件打开。 10. **.exe** - 这是可执行文件,双击即可...