Просмотр PDF только для командной строки

12

Можно ли просматривать PDF документы без запуска gdm (или аналогичного)?

Обоснование: я работаю на удаленном сервере (не предполагаю переадресации X), обрабатываю некоторые данные, создаю несколько графиков (предположим, PDF-файлы). И я хотел бы просмотреть их без необходимости scpоткрывать их на моей машине. (Возможно, есть другие варианты использования.)

moooeeeep
источник
2
Я не знаю ответа на вопрос, который вы задали, но я использую sshfs для решения подобных проблем. Я полагаю, это похоже на использование scp, но требует меньше хлопот.
Ams
@ams, это действительно решило бы проблему копирования, но сейчас меня особенно интересует программа просмотра PDF только из командной строки.
moooeeeep
Возможно, вы могли бы bcviсделать так, чтобы при выполнении view-this file.pdfчерез SSH локальный просмотрщик PDF запускался по file.pdfмагии обратного канала.
sr_
Вы можете создавать ASCII графики с Gnuplot, то есть echo 'set term dumb; plot sin(x)' | gnuplot. Для улучшенной «графики» генерируйте escape-последовательности tektronix, например, во время xterm -tвыполненияecho 'set term tek40xx; plot sin(x)' | gnuplot
Thor

Ответы:

25

Не настоящий зритель, но в качестве скорой помощи также может помочь конвертер:

pdftotext file.pdf - | less

pdftohtml -stdout -i file.pdf | lynx -stdin

pdftotextи pdftohtmlявляются частью пакета Poppler .

manatwork
источник
2
+1 Это хорошо работает с текстовыми документами. Очевидно, что отображение графики без графического интерфейса пользователя не является реалистичным? :]
moooeeeep
2
+1. Кроме того, lesspipeзнает, как обрабатывать документы PDF. Если pdftotextустановлено, и вы уже запустили eval $(lesspipe), вы можете просто запустить less file.pdf. Он pdftotext -layoutтак хорошо работает с многостолбцовым текстом.
Cas
5

Я не думаю, что это будет работать удаленно, но локально я использовал fbgs( информация о fbida ). Он преобразует страницы PDF в файлы TIFF и отображает их непрерывно с помощью кадрового буфера. Включая изображения и правильное расположение. Тем не менее, это медленнее, чем с помощью GUI Viewer.

Marco
источник
Спасибо за эту заметку (пишется fbgs)! Это выглядело действительно многообещающе. К сожалению, ограничение не на первом месте локально, но любой эмулируемый терминал не будет работать. Очевидно, он должен быть запущен на любом из виртуальных терминалов ctrl + alt + f1 / f2 / f3 / ... :(
moooeeeep
0

Если вы работаете emacsна своей машине ( emacsпоставляется с предустановленной Ubuntu 18.04), вы можете фактически открыть и просмотреть pdf на удаленном сервере, нажав Ctrl-x Ctrl-f(to find-file), а затем набрав и нажав /user@hostname:/path/to/my.pdfEnter (обратите внимание на самое первое /). Затем вам будет предложено ввести пароль сервера, и вот оно! Вы можете увидеть PDF внутри Emacs.

Навигация по PDF внутри emacs

Используйте spaceдля перехода на одну страницу вниз и backspaceна одну страницу вверх. Вы также можете использовать клавиши со стрелками для прокрутки на одной странице, если она не помещается на экране.

Увеличить

Увеличьте, нажав Ctrl-x Ctrl-+. Увеличьте больше, нажав +только. Или уменьшить масштаб, нажав -.

контекст

Да, вы можете подключиться к удаленному серверу изнутри, emacsиспользуя встроенный пакет, trampкоторый работает так же просто, как я объяснил выше. Этот метод работает не только для PDF, но и для любого другого типа файла, такого как изображения.

Pooya
источник
0

Я использую рейнджер, хотя он не позволяет мне копировать текст или выделять.

Рикардо Пьетробон
источник