Я надеюсь, что заголовок не вводит в заблуждение.
Я использую примечание, берущее приложение который, позвольте нам меня открытые файлы из примечаний скидки с цены:
[read more](/path/to/file.pdf)
Я не мог найти способ открыть его на уровне определенной страницы. Я не могу создать ссылку в формате, который принимает читатель PDF.
Существует ли хороший способ, которым я могу открыть файлы со сценарием? В основном я хочу заменить #page=5
с -p 5
каждый раз.
Я думал, что мог записать, что моя собственная обертка пишет сценарий таким образом, что я могу ввести:
[read more](/path/to/file.pdf#page=5)
и мой сценарий анализирует путь и преобразовывает его в
xdg-open /path/to/file.pdf -p 5
Я не уверен, насколько изящный метод ниже. Но это обычно работает на меня.
Я использую ReText в качестве редактора Markdown и планирую использовать
[link-to-pdf](pdf-filename.pdf#page=2)
синтаксис для PDF с номером страницы.
Таким образом, я определил свое локальное xdg-open
сценарий обертки:
mkdir /home/$USER/bin
echo "export PATH=/home/$USER/bin:$PATH" >> .bashrc
и помещенный следующий код в /home/$USER/bin/xdg-open
:
#!/bin/sh
pdfviewer=atril
filename="$1";
case $filename in
*.pdf#page=*)
file=$(echo "$filename" | cut -d "#" -f 1);
page=$(echo "$filename" | cut -d "#" -f 2 | sed "s/page=/-p /");
$pdfviewer "$file" $page ;;
*) /usr/bin/xdg-open "$@" ;;
esac
Этот сценарий должен быть исполняемым файлом (набор с chmod +x /home/$USER/bin/xdg-open
), и это будет использоваться только если .pdf#page=
будет найден, иначе это будет использовать в масштабе всей системы /usb/bin/xdg-open
.
Я протестировал этот метод со средством просмотра PDF Atril на моем ПОМОЩНИКЕ LTS Ubuntu 16.04.
Можно измениться pdfviewer
переменная к evince
если Вы хотите.
Как свободная премия мы можем использовать .pdf#page=
синтаксис в терминале:
xdg-open /usr/share/doc/qpdf/qpdf-manual.pdf#page=12
Примечание: после таких манипуляций мы имеем два xdg-open
исполняемые файлы - вывод whereis xdg-open
должен стать xdg-open: /usr/bin/xdg-open /home/user/bin/xdg-open /usr/share/man/man1/xdg-open.1.gz
.