Посмотреть PDF-файл в терминале


50

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

Как я могу просмотреть pdfфайл в моем терминале?



2
Если вы подключаетесь к кластеру с помощью ssh, я рекомендую использовать SSHFS. Он обеспечивает общее решение всех проблем «Как сделать X с удаленными файлами».
Жиль "ТАК ... перестать быть злым"

Рендеринг PDF в
кадровый буфер

Ответы:


53

Во многих системах меньше использует lesspipe, которая может автоматически обрабатывать pdftotext. Поэтому вы можете сразу попробовать

 less file.pdf

который покажет выход pdftotextв less.


26

Я думаю, что невозможно увидеть файл PDF в терминале, но вы можете проверить его содержимое, конвертировав файл PDF в текст. Вы можете сделать это как:

pdftotext a.pdf

Он создаст файл .txt, который вы можете прочитать в VIM.

Для варианта с Ubuntu этот бинарный файл доступен в следующем пакете.

Poppler-Utils


4
Это есть возможность увидеть файл PDF в терминале, например , так: pdftotext -layout file.pdf - | less(это как по умолчанию в Ubuntu lesspipeскрипт делает это)
villapx

5

Когда я хочу «просмотреть PDF-файл в терминале», это означает, что я хочу увидеть несжатый PDF, я делаю:

pdftk in.pdf output out.pdf uncompress

Я всегда удивлялся, почему и то, less in.pdfи другое, и less out.pdfдаю мне только текстовые строки в PDF (и исключая только текстовые команды PDF, в которых я ожидал out.pdf).

Что ж, это происходит из-за того, что lesspipe предполагает, что я хочу, pdftotextчтобы меня запускали первыми, а поскольку здесь я этого не делаю, я должен специально отключить lesspipe, установив LESSOPENпеременную окружения в ноль ; это:

$ LESSOPEN="" less out.pdf

И, наконец, я могу просмотреть несжатый PDF-код, используя less


2

Еще одно решение ... Могу я порекомендовать вам древнюю утилиту mc.

MC(1)                       GNU Midnight Commander
mc - Visual shell for Unix-like systems.

mcразработан на основе текстового управления файлами, и у него есть опция ( F3ключ) «view», которая автоматически преобразует .pdfs в текст для просмотра без графического интерфейса. Код, который выполняет это преобразование, является частью самого mcсебя, поэтому он не требует преобразования другими утилитами. (Также имеется встроенная программа просмотра .html для WIW.)


1

Я попробовал следующее с хорошими результатами:

pdftotext filname.pdf - | less

0

Еще одно решение - использовать команду gnome-open

gnome-open youfile.pdf

При условии, что у вас есть логин на вашем сервере с опцией -X (ssh -X)


2
Как это просмотреть PDF-файл в терминале ?
CVn

Не на терминале, но может просматривать PDF-файл при выдаче команды с терминала.
биоинформатик

5
Хотя это правда, ФП специально просил использовать терминальный подход.
CVn

0

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

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

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

Увеличить

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

контекст

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.