使用 LibreOffice 打开 webdav ms-word:ofe|u| 协议链接

使用 LibreOffice 打开 webdav ms-word:ofe|u| 协议链接

我在个人电脑上使用 Ubuntu。工作时使用 Windows 的电脑使用此链接;它使用 Microsoft Office 打开 Word 文件。

ms-word:ofe|u|https://serveraddress/path/to/file.doc

但是在 Ubuntu 中,Google Chrome 要求输入任何内容xdg-open,但什么也没有打开。

有没有办法让 LibreOffice 打开这样的链接?

答案1

通过注册 ms-word 协议处理程序,也可以在 Linux 中实现类似的行为。不过,存在一些限制,但对于基本用法来说,它是可行的。

首先,必须注册一个新协议以及一个将打开它的应用程序。应用程序 .desktop 文件将处理新协议,它们位于 中/usr/share/applications。LibreOffice 使用该libreoffice-writer.desktop文件,因此您可以将此文件复制到libreoffice-writer-msword.desktop。需要复制一份,因为 libre office 不理解ms-word:ofe|u|部分内容,因此需要从命令行中删除它。在新的 .desktop 文件中,将以下内容放入行中Exec

Exec=bash -c 'echo "%U" | cut -d "|" -f 3 | xargs /usr/bin/libreoffice --writer'

接下来,应该使用以下命令注册一个新的协议处理程序:

xdg-mime default libreoffice-writer-msword.desktop  x-scheme-handler/ms-word

这将使用 ms-word:协议注册我们的桌面文件。

下一步是测试。最好从 Firefox 尝试,在命令行中输入此 URL:

ms-word:ofe|u|https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.doc

Firefox 应该提示打开 LibreOffice,它将从给定位置打开文档。

然而,也存在缺点:

  • ofe:uURL 的一部分是只能通过 word 解释的参数。我们正在剥离这部分并使用默认的开放功能。也许可以通过一些考虑 LibreOffice 参数的脚本来替换它。
  • Chrome 在多功能框(输入 URL 的框)中输入自定义处理程序时会出现一些问题。它总是进行谷歌搜索;这似乎是所有基于 Chromium 的浏览器的默认设置(在 Chrome、Opera 和 Brave 上测试过)。但是,它可以从 JavaScript 中运行 - 如果您在浏览器控制台中输入:
    window.location="ms-word:ofe|u|https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.doc"

Chrome 将执行与 Firefox 或 Vivaldi 浏览器相同的操作 - 它将使用 打开应用程序xdg-open。其他任何自定义处理程序(例如 (Zoom 视频通话))似乎都是这种情况zoommtg:;它可以与 JS 一起使用,但不能通过多功能框使用。

相关内容