You can use xpdf, or if you're looking for a nicer-looking reader and a GUI for shortcut settings, Okular (but you'll have to download it with a part of KDE).
xpdf key bindings
o Open a new PDF file via a file requester.
r Reload the current PDF file. Note that Xpdf will reload the file
automatically (on a page change or redraw) if it has changed since it
was last loaded.
control-L Redraw the current page.
control-W Close the current window.
f or control-F Find a text string.
control-G Find next occurrence.
control-P Print.
n Move to the next page. Scrolls to the top of the page, unless
scroll lock is turned on.
p Move to the previous page. Scrolls to the top of the page, unless
scroll lock is turned on.
<Space> or <PageDown> or <Next> Scroll down on the current page; if
already at bottom, move to next page.
<Backspace> or <Delete> or <PageUp> or <Previous> Scroll up on the
current page; if already at top, move to previous page.
v Move forward along the history path.
b Move backward along the history path.
<Home> Scroll to top of current page.
<End> Scroll to bottom of current page.
control-<Home> Scroll to first page of document.
control-<End> Scroll to last page of document.
arrows Scroll the current page.
g Activate the page number text field ("goto page").
0 Set the zoom factor to 125%.
+ Zoom in (increment the zoom factor by 1).
- Zoom out (decrement the zoom factor by 1).
z Set the zoom factor to 'page' (fit page to window).
w Set the zoom factor to 'width' (fit page width to window).
alt-F Toggle full-screen mode.
q Quit xpdf.
Adding more key bindings through xpdfrc
You can add more key bindings through xpdfrc; on Win32 systems, the xpdfrc file should be placed in the same directory as the executables.
bind modifiers-key context command ... adds a key or mouse button binding
modifiers can be zero or more of:
key can be a regular ASCII character, or any one of:
space
tab
return
enter
backspace
insert
delete
home
end
pgup
pgdn
left / right / up / down (arrow keys)
f1 .. f35 (function keys)
mousePress1 .. mousePress9 (mouse buttons)
mouseRelease1 .. mouseRelease9 (mouse buttons)
context is either any or a comma-separated combination of:
fullScreen / window (full screen mode on/off)
continuous / singlePage (continuous mode on/off)
overLink / offLink (mouse over link or not)
scrLockOn / scrLockOff (scroll lock on/off)
The context string can include only one of each pair in the above list.
command is an Xpdf command (see the COMMANDS section of the xpdf(1) man page for details). Multiple commands are separated by whitespace.
The bind command replaces any existing binding, but only if it was defined for the exact same modifiers, key, and context. All tokens (modifiers, key, context, commands) are case-sensitive.
Example key bindings:
# bind ctrl-a in any context to the nextPage
# command
bind ctrl-a any nextPage
# bind uppercase B, when in continuous mode
# with scroll lock on, to the reload command
# followed by the prevPage command
bind B continuous,scrLockOn reload prevPage
Available Commands
The following commands are supported:
gotoPage(page) Go to the specified page.
gotoPageNoScroll(page) Go to the specified page, with the current relative scroll position.
gotoDest(dest) Go to a named destination.
gotoLastPage Go to the last page in the PDF file.
gotoLastPageNoScroll Go to the last page in the PDF file, with the current relative scroll position.
nextPage Go to the next page.
nextPageNoScroll Go to the next page, with the current relative scroll position.
prevPage Go to the previous page.
prevPageNoScroll Go to the previous page, with the current relative scroll position.
pageUp Scroll up by one screenful.
pageDown Scroll down by one screenful.
scrollLeft(n) Scroll left by n pixels.
scrollRight(n) Scroll right by n pixels.
scrollUp(n) Scroll up by n pixels.
scrollDown(n) Scroll down by n pixels.
scrollUpPrevPage(n) Scroll up by n pixels, moving to the previous page if appropriate.
scrollDownPrevPage(n) Scroll down by n pixels, moving to the next page if appropriate.
scrollToTopEdge Scroll to the top edge of the current page, with no horizontal movement.
scrollToBottomEdge Scroll to the bottom edge of the current page, with no horizontal movement.
scrollToLeftEdge Scroll to the left edge of the current page, with no vertical movement.
scrollToRightEdge Scroll to the right edge of the current page, with no vertical movement.
scrollToTopLeft Scroll to the top-left corner of the current page.
scrollToBottomRight Scroll to the bottom-right corner of the current page.
goForward Move forward along the history path.
goBackward Move backward along the history path.
zoomPercent(z) Set the zoom factor to z%.
zoomFitPage Set the zoom factor to fit-page.
zoomFitWidth Set the zoom factor to fit-width.
zoomIn Zoom in - go to the next higher zoom factor.
zoomOut Zoom out - go the next lower zoom factor.
continuousMode Go to continuous view mode.
singlePageMode Go to single-page view mode.
toggleContinuousMode Toggle between continuous and single page view modes.
fullScreenMode Go to full-screen mode.
windowMode Go to window (non-full-screen) mode.
toggleFullScreenMode Toggle between full-screen and window modes.
open Open a PDF file in this window, using the open dialog.
openInNewWin Open a PDF file in a new window, using the open dialog.
openFile(file) Open a specified PDF file in this window.
openFileInNewWin(file) Open a specified PDF file in a new window.
openFileAtDest(file,dest) Open a specified PDF file in this window and go to a named destination.
openFileAtDestInNewWin(file,dest) Open a specified PDF file in a new window and go to a named destination.
reload Reload the current PDF file.
redraw Redraw the window.
raise Raise the window to the front.
closeWindow Close the window.
run(external-command-string) Run an external command. The following escapes are allowed in the command string:
- %f => PDF file name (or an empty string if no
file is open)
- %b => PDF file base name, i.e., file name minus
the extension (or an empty string if no
file is open)
- %u => link URL (or an empty string if not over
a URL link)
- %x => selection upper-left x coordinate
(or 0 if there is no selection)
- %y => selection upper-left y coordinate
(or 0 if there is no selection)
- %X => selection lower-right x coordinate
(or 0 if there is no selection)
- %Y => selection lower-right y coordinate
(or 0 if there is no selection)
- %% => %
openOutline Open the outline pane.
closeOutline Close the outline pane.
toggleOutline Toggle the outline pane between open and closed.
scrollOutlineDown(n) Scroll the outline down by n increments.
scrollOutlineUp(n) Scroll the outline up by n increments.
focusToDocWin Set the keyboard focus to the main document window.
focusToPageNum Set the keyboard focus to the page number text box.
find Open the 'find' dialog.
findNext Finds the next occurrence of the search string (no dialog).
print Open the 'print' dialog.
about Open the 'about' dialog.
quit Quit from xpdf.
The following commands depend on the current mouse position:
startSelection Start a selection, which will be extended as the mouse moves.
endSelection End a selection.
startPan Start a pan, which will scroll the document as the mouse moves
endPan End a pan.
postPopupMenu Display the popup menu.
followLink Follow a hyperlink (does nothing if the mouse is not over a link).
followLinkInNewWin Follow a hyperlink, opening PDF files in a new window (does nothing if the mouse is not over a link). For links to non-PDF files, this command is identical to followLink.
followLinkNoSel Same as followLink, but does nothing if there is a non-empty selection. (This is useful as a mouse button binding.)
followLinkInNewWinNoSel Same as followLinkInNewWin, but does nothing if there is a non-empty selection. (This is useful as a mouse button binding.)