Как открыть PDF файл на определенной странице из командной строки? (OSX или Linux)

Я хочу открыть PDF-документ на определенной странице из командной строки, вроде vim +n [file]. Есть ли способ сделать это в OSX, с любой программой чтения PDF?

Ответ 1

Вы можете сделать это с помощью Evince с помощью аргумента командной строки -p или --page-label=PAGE, например:

evince -p 5 foo.pdf

Ответ 2

Я продолжал получать ошибки от ответа Хулио. С текущей версией 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

Скимм по-прежнему требуется абсолютное имя файла. Таким образом, вы будете запускать его с той же командой, о которой упоминалось в ответ Хулио. osascript gotopage.scpt "/full/path/to/doc/mydoc.pdf" 99

Ответ 3

Следующий метод работает с 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 script. Также обратите внимание, что путь к PDF должен быть абсолютным, иначе Skim не найдет файл.

Ответ 4

Возможно, это поможет вам: http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf

Я нашел страницу arg = pagenum на странице 5 в этом pdf, которая может быть полезна! Я не тестировал это, хотя!

EDIT:

Я просто протестировал его на Windows (к сожалению, у меня нет Linux), и он работает. В окнах это:

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

Я предполагаю, что это похоже на Linux или OSX.

Ответ 5

Нет. Переключатели командной строки относятся к каждой программе.

Ответ 6

open -a Preview someFile.pdf