gpt4 book ai didi

javascript - 从 Javascript 打开 Microsoft Word 实例

转载 作者:行者123 更新时间:2023-11-29 21:37:06 25 4
gpt4 key购买 nike

我正在构建一个允许用户通过网页打开 word 文档的应用程序。此 Web 应用程序将使用机器上的本地 word 实例打开 word 文档。

我有两个可行的解决方案。

  1. 使用 ActiveX(仅限 IE)
  2. 由于应用程序是 Intranet 应用程序,我使用 PsTools在 web 服务中远程打开远程机器上的 word 实例。

第二种架构是我现在正在关注的。它基于通过 Javascript/jquery 调用接收机器名称的 Web 服务。稍后在网络方法中,我使用 PsTools 在远程计算机上远程执行 MS Word 实例。

这两种架构都有效,但它们都有局限性。通过 ActiveX,我可以在 IE 上使用它,它还需要更改网络策略以允许 ActiveX。使用 PsTools,它运行良好,但我无法获取 Word.Exe 的路径,我只能假设它始终位于 \\machinename\C$\Program Files( x86)\....

我们也可能会公开此应用程序,在这种情况下,我们使用 PsTools 的解决方案将不再有效。

我只是想知道是否有其他更合适/跨浏览器的方式通过网络应用程序打开本地单词实例?

文档必须在远程位置修改,一种选择是让用户下载文档,然后修改它并上传到服务器,这是不可能的,因为我们正在替换一个厚的客户并希望保持相同的用户体验

最佳答案

I am building an application that will allow user to open a word document through a web page.

如果是 Intranet 场景,那么您可以使用带有 Office URI 方案的应用程序协议(protocol)来链接到文档,然后这些文档将在本地安装的客户端中打开。

Office URI 架构是这样的:

<scheme-name>:<command-name>"|"<command-argument-descriptor> "|"<command-argument>

具体对于 Word,示例如下:

<a href='ms-word:ofe|u|https://example.com/example.docx'>Edit</a>

其中,ms-word:是scheme,ofe命令代表open-for-editu使用后面的 URI 的命令描述符,最后是文档本身的 URI。还有其他命令,例如 ofv(open-for-view)和 nft(new-from-template ),以及其他命令描述符,例如 s for save

这是完整的引用资料:https://msdn.microsoft.com/en-us/library/office/dn906146.aspx

协议(protocol)是在安装 Office 客户端时向 Windows 注册的。

您可以轻松地在您的 IIS 服务器上启用 WebDAV。 WebDAV 客户端内置在客户端的 Windows 中。

您还可以使用像 FFWinPlugin Plug-in 这样的组件它是 SharePoint Foundation 的一部分,或 OpenDocuments Control这是与 Office 客户端一起安装的 ActiveX 控件。

We might make this application public as well

我不鼓励你这样做,除非你的公司拥有或处理像 OneDriveOffice.com 这样的服务。如其他答案中所述,这很快就会变得棘手。此外,对公众实现专有客户端无论如何都不是一个好主意。此外,即使是 Microsoft 自己的解决方案也不能跨浏览器可靠地工作,并且只能在 IE 上工作得最好(甚至 Edge 对此也有问题),这将迫使特定的浏览器向公众开放。这不是个好主意。

但是,如果您确实需要,那么最好使用一些已经围绕 WebDAV 构建的解决方案。 Alfresco ECM(企业内容管理)是使用与您的用例类似的 WebDAV 的公开发行示例。

IT Hit 还有一个,这里有一个现场演示:http://www.ajaxbrowser.com .他们还有一个基本教程,介绍如何在与您的用例相同的行上设置您自己的 WebDAV 服务器。您将需要找到他们的文档。

关于javascript - 从 Javascript 打开 Microsoft Word 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34598474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com