zoukankan      html  css  js  c++  java
  • 如何才能实现在点击链接时直接在网页中打开word文档,但不提示保存

    一般要直接打开需要客户端
    1.客户端有word支持
    2.客户端浏览器的版本与设置
    可寻找一下相关的控件或中间件,我的意见是看能否变通一下,把word转成HTML或PDF再展示给用户。(若用户不需要编辑并保持到服务器端的情况)
    可试试下文:
    有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法。
    在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“Program Files/Microsoft Office/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站点的当前上下文的Windows Identity必须对服务器的相应目录(即“
    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。

    参考资料:

    PDF.js专题  http://blog.csdn.net/xiangcns/article/details/42089189

    初次体验PDF.JS,非常好用的pdf前台包       http://blog.csdn.net/hyhbyl/article/details/20994945

    http://blog.csdn.net/xiangcns/article/details/42089189     http://blog.csdn.net/xiangcns/article/details/42089189

  • 相关阅读:
    faster with MyISAM tables than with InnoDB or NDB tables
    w-BIG TABLE 1-toSMALLtable @-toMEMORY
    Indexing and Hashing
    MEMORY Storage Engine MEMORY Tables TEMPORARY TABLE max_heap_table_size
    controlling the variance of request response times and not just worrying about maximizing queries per second
    Variance
    Population Mean
    12.162s 1805.867s
    situations where MyISAM will be faster than InnoDB
    1920.154s 0.309s 30817
  • 原文地址:https://www.cnblogs.com/lihuali/p/5673481.html
Copyright © 2011-2022 走看看