12

Is it possible to view pdf documents without having gdm (or similar) running?

Rationale: I'm working on a remote server (assume no X forwarding) processing some data, creating some plots (assume pdf files). And I would like to view them without having to scp and open them on my machine. (There may be other use cases, probably.)

  • 2
    I don't know the answer to the question you asked, but I use sshfs to solve problems like these. I suppose it's like using scp, but requires less hassle. – ams Apr 11 '12 at 9:01
  • @ams, this would indeed solve the copying issue, but right now I'm particularly interested in a command-line only pdf viewer. – moooeeeep Apr 11 '12 at 9:05
  • Maybe you could adept bcvi in a way that executing view-this file.pdf over SSH runs your local PDF viewer on the file.pdf via back-channel magic. – sr_ Apr 11 '12 at 9:36
  • You can generate ascii graphs with gnuplot, i.e. echo 'set term dumb; plot sin(x)' | gnuplot. For improved "graphics" generate tektronix escape sequences, e.g. within xterm -t run echo 'set term tek40xx; plot sin(x)' | gnuplot – Thor Apr 13 '12 at 10:50
25

Not a real viewer, but as first aid a converter may also help:

pdftotext file.pdf - | less

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

pdftotext and pdftohtml are part of the Poppler package.

  • 2
    +1 This works nicely with text-only documents. Obviously displaying graphics without graphical user interface is not realistic? :] – moooeeeep Apr 11 '12 at 11:06
  • 2
    +1. Also, lesspipe knows how to handle PDF documents. If pdftotext is installed and you have already run eval $(lesspipe), you can just run less file.pdf. It uses pdftotext -layout so works reasonably well with multi-column text. – cas Jan 4 '18 at 4:28
5

I don't think it will work remotely, but locally I used to use fbgs (Info about fbida). It converts the PDF pages to TIFF files and displays them in a contiguous fashion using the framebuffer. Including images and proper layout. However, it's slower then using a GUI viewer.

  • Thanks for this note (it's spelled fbgs)! It looked indeed promising. Unfortunately the restriction is not in the first place locally, but any emulated terminal won't work. Apparantly it requires to be run on any of the virtual terminals ctrl+alt+f1/f2/f3/... :( – moooeeeep May 14 '12 at 11:09
0

If you run emacs on your machine (emacs comes preinstalled on Ubuntu 18.04), you can virtually open and see a pdf on a remote server by hitting Ctrl-x Ctrl-f (to find-file) and then type in /user@hostname:/path/to/my.pdf and hit Enter (note the very first /). You will then be prompted to enter the server's password and there it is! You can see the pdf inside emacs.

Navigate through PDF inside emacs

Use space to go one page down and backspace to go one page up. You can also use arrow keys to scroll through a single page if it doesn't fit in the screen.

Zoom

Zoom in by hitting Ctrl-x Ctrl-+. Zoom in more by hitting + only. Or zoom out more by hitting -.

Context

Yes, you can connect to a remote server from within emacs using the build-in package tramp that works as simple as I explained above. This method works, not only for pdf, but for any other type of file, such as images.

0

I use ranger, although it doesn't allow me to copy text or highlight.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.