是否可以使用.desktop文件通过浏览器打开特定页面上的本地pdf文件?

是否可以使用.desktop文件通过浏览器打开特定页面上的本地pdf文件?

我想使用desktop files它在特定页面上打开 pdf 文件,我尝试使用以下语法创建一个文件:

[Desktop Entry]
Encoding=UTF-8
Name=mypdf.pdf
Type=Link
URL=file:///home/myhomefolder/mypdf.pdf#page=45
Icon=application-pdf

当我打开此文件时,默认浏览器会在第 1 页打开我的 pdf 文件,就像它被视为#page=45评论一样,即使我file:///home/myhomefolder/mypdf.pdf#page=45直接在浏览器上粘贴地址,我也会得到预期的结果(pdf 在第 45 页打开)...

我意识到如果我在互联网上对 pdf 文件使用此语法,它会按预期工作,并在我预先确定的页面上打开 pdf,问题仅出在本地文件上。是否可以使用桌面文件在特定页面上打开本地pdf文件?或者它是一个限制desktop files

答案1

使用网址?

我需要查一下,但我似乎记得 TypeLink在 .desktop 文件中已被弃用。无论如何,正如您所发现的,它在这里不起作用。Encoding肯定已被弃用,但这不是问题所在。此外,xdg-open不起作用;它将打开您的 pdf 文件默认应用程序。

那用什么呢?

创建一个 .desktop 文件,使用 pdf 文件 + 页面作为参数调用您首选的浏览器。在您的示例中:

[Desktop Entry]
Type=Application
Name=Open pdf on page 45
Exec=firefox 'file:///home/myhomefolder/mypdf.pdf#page=45'
Icon=application-pdf

在此处输入图片描述

然后使其可执行并双击。如果您使用的是其他浏览器,则需要更改行Exec=以反映这一点。

答案2

一些文档查看器允许您使用指向所需页面的参数来启动它们。

evince --help

  -i, --page-index=NUMBER     The page number of the document to display.

因此,你的 .desktop 文件可能看起来像这样:

[Desktop Entry]
Name=mypdf.pdf page 45
Type=Link
Exec=evince --page-index=45 /home/myhomefolder/mypdf.pdf
Icon=application-pdf

相关内容