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

Raf*_*rsk 8 pdf .desktop

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

[Desktop Entry]
Encoding=UTF-8
Name=mypdf.pdf
Type=Link
URL=file:///home/myhomefolder/mypdf.pdf#page=45
Icon=application-pdf
Run Code Online (Sandbox Code Playgroud)

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

我意识到,如果我将这种语法用于 Internet 上的 pdf 文件,它会按预期工作,并且会在我预先确定的页面上打开 pdf,问题仅在于本地文件。是否可以使用桌面文件在特定页面上打开本地 pdf 文件?还是它的限制desktop files

Jac*_*ijm 10

使用网址?

我需要查找它,但我似乎记得 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
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

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


Non*_*ose 6

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

来自evince --help

  -i, --page-index=NUMBER     The page number of the document to display.
Run Code Online (Sandbox Code Playgroud)

因此,您的 .desktop 文件可能如下所示:

[Desktop Entry]
Name=mypdf.pdf page 45
Type=Link
Exec=evince --page-index=45 /home/myhomefolder/mypdf.pdf
Icon=application-pdf
Run Code Online (Sandbox Code Playgroud)