Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CLI pdf viewer for linux [closed]

Hey, for quite a while now, I am looking for a pdf viewer for the command line.

As I like to work without X on Linux, and often work on a remote machine, I would like to have a tool to read pdfs. There are quite a lot of really good graphical programs (evince, okular, acroread, ...) to do the job, so I figured there should be at least one decent text-mode tool. But I don't even know of a crappy one!

Currently, I either start X only to read pdfs, or use pdftohtml+lynx. However, the latter does not produce a very good output, and most documents are just unreadable, especially if they contain mathematical formula.

Google is full of people saying either it's not possible or suggesting the pdftohtml version.

I realise, this is not exactly a programming question, but I am currently considering starting a project to implement such a program, unless there already is a good one out there.

Thanks for any suggestions.

like image 343
bitmask Avatar asked Aug 25 '10 22:08

bitmask


2 Answers

Hi I think that you don't need to write a program for your purpose I mean reading pdf file in console mode because less command already do it for you. So use it and just enjoy it.

less "the name of pdf file" 
like image 99
Kasra Avatar answered Sep 24 '22 16:09

Kasra


Ok, you asked to know even "crappy" ones. Here are two (decide yourself about their respective crappiness):

First: Ghostscript's txtwrite output device

 gs \    -dBATCH \    -dNOPAUSE \    -sDEVICE=txtwrite \    -sOutputFile=- \    /path/to/your/pdf 

Second: XPDF's pdftotext CLI utility (better than Ghostscript):

 pdftotext \    -f 13 \    -l 17 \    -layout \    -opw supersecret \    -upw secret \    -eol unix \    -nopgbrk \    /path/to/your/pdf    - |less 

This will display the page range 13 (first page) to 17 (last page), preserve the layout of a double-password protected named PDF file (using user and owner passwords secret and supersecret), with Unix EOL convention, but without inserting pagebreaks between PDF pages, piped through less...

pdftotext -h displays all available commandline options.

Of course, both tools only work for the text parts of PDFs (if they have any). Oh, and mathematical formula also won't work too well... ;-)


Edit: I had mis-typed the command above (originally using pdftops instead of pdftotext).

like image 37
Kurt Pfeifle Avatar answered Sep 20 '22 16:09

Kurt Pfeifle