12

我想从命令行在特定页面打开 PDF 文档,有点像vim +n [file]. 有没有办法在 OSX 中使用任何 PDF 阅读器程序来做到这一点?

4

6 回答 6

9

您可以使用Evince使用-por--page-label=PAGE命令行参数执行此操作,如下所示:

evince -p 5 foo.pdf
于 2010-01-13T15:16:18.430 回答
7

我不断从胡里奥的回答中得到错误。使用当前版本 1.4.6 (80) 的 Skim 和 OSX Mountain Lion (10.8.5),以下代码对我有用。我认为问题可能是 pageNum 必须被视为一个整数,但它被解析为一个字符串。此代码假定您已安装 Skim。

gotopage.scpt:

on run argv
    set fileName to (item 1 of argv)
    set pageNum to (item 2 of argv) as integer

    tell application "Skim"
        open fileName
        tell document 1 to go to page pageNum
        activate
    end tell
end run

Skim 仍然需要一个绝对文件名。因此,您将使用 Julio 的答案中提到的相同命令运行它。osascript gotopage.scpt "/full/path/to/doc/mydoc.pdf" 99

于 2013-11-06T22:06:36.217 回答
5

以下方法适用于 Skim,它是 Preview.app 的开源替代品。首先,下载Skim,然后将以下代码保存在文本文件中并将其命名为“gotopage.scpt”:

on run argv
    tell application "Skim"
        activate
        open (item 1 of argv)

        tell document 1
            go to page index (item 2 of argv)
        end tell

    end tell
end run

您现在可以告诉 Skim 打开某个 PDF 并通过在终端上写入以下内容转到第 99 页:

osascript gotopage.scpt "/full/path/to/doc/mydoc.pdf" 99

您可能希望将上述行包装到您自己的 sh 脚本中。另请注意,PDF 的路径必须是绝对路径,否则 Skim 将找不到该文件。

于 2010-01-13T16:15:29.463 回答
3

也许这会对您有所帮助: http ://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf

我在这个 pdf 的第 5 页上发现了一个 arg page=pagenum 可能有用!虽然我没有测试过!

编辑:

我刚刚在 Windows 上测试了它(不幸的是我没有 Linux)并且它可以工作。在 Windows 上是:

<path to Acrobat Reader.exe> /A "page=2" somePDFFile.pdf

我想这在 Linux 或 OSX 中是类似的。

于 2010-01-13T15:10:33.713 回答
-1

否。命令行开关特定于每个程序。

于 2010-01-13T15:06:30.540 回答
-3
open -a Preview someFile.pdf
于 2010-01-13T15:27:58.450 回答