xpdf(1)

NAME
xpdf - Portable Document Format (PDF) file viewer for X (xpopple)

SYNOPSIS
xpdf [options] [PDF-file [page | +dest]]

DESCRIPTION
xpopple is a viewer for Portable Document Format (PDF) files. (These are also sometimes also called 'Acrobat' files, from the name of Adobe's PDF software.) xpopple runs under the X Window System on UNIX.

xpopple uses the Poppler library to process PDF files. Poppler was originally derived from version 3 of Glyph & Cog, LLC's Xpdf suite, but Poppler doesn't include the Xpdf viewer program itself. xpopple is the Xpdf program, modified to use Poppler.

To run xpopple, simply type:

    xpdf file.pdf

where file.pdf is your PDF file. The file name can be followed by a number specifying the page which should be displayed first, e.g.:

    xpdf file.pdf 18

You can also give a named destination, prefixed with '+' in place of the page number. (This is only useful with PDF files that provide named destination targets.)

You can also start xpdf without opening any files:

    xpdf

Various compressed formats (gz, bz2, xz, and Z) are also supported, for example::

    xpdf file.pdf.gz

CONFIGURATION FILE
Xpdf reads a configuration file at startup. It first tries to find the user's private config file, ~/.xpdfrc. If that doesn't exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the xpdfrc(5) man page for details.

OPTIONS
Many of the following options can be set with configuration file commands or X resources. These are listed in square brackets with the description of the corresponding command line option.

-g geometry
    Set the initial window geometry. (-geometry is equivalent.) [X resource: Xpdf.geometry]

-title title
    Set the window title. By default, the title will be "xpdf: foo.pdf". [X resource: Xpdf.title]

-cmap
    Install a private colormap. This is ignored on TrueColor visuals. [X resource: Xpdf.installCmap]

-rgb number
    Set the size of largest RGB cube xpdf will try to allocate. The default is 5 (for a 5x5x5 cube); set to a smaller number to conserve color table entries. This is ignored with private colormaps and on TrueColor visuals. [X resource: Xpdf.rgbCubeSize]

-rv Set reverse video mode. This reverses the colors of everything except images. It may not always produce great results for PDF files which do weird things with color. This also causes the paper color to default to black. [X resource: Xpdf.reverseVideo]

-papercolor color
    Set the "paper color", i.e., the background of the page display. This will not work too well with PDF files that do things like filling in white behind the text. [X resource: Xpdf.paperColor]

-mattecolor color
    Set the matte color, i.e., the color used for background outside the actual page area. (There is a separate setting, Xpdf.fullScreenMatteColor, for full-screen mode.) [X resource: Xpdf.matteColor]

-z zoom
    Set the initial zoom factor. A number specifies a zoom percentage, where 100 means 72 dpi. You may also specify 'page', to fit the page to the window size, or 'width', to fit the page width to the window width, or 'height', to fit the page height to the window height [config file: initialZoom; or X resource: Xpdf.initialZoom]

-cont
    Start in continuous view mode, i.e., with one vertical scroll bar for the whole document. [config file: continuousView]

-ps PS-file
    Set the default file name for PostScript output (i.e., the name which will appear in the print dialog). This can also be of the form '| command' to pipe the PostScript through a command. [config file: psFile]

-paper size
    Set the paper size to one of "letter", "legal", "A4", or "A3". This can also be set to "match", which will set the paper size to match the size specified in the PDF file. [config file: psPaperSize]

-paperw size
    Set the paper width, in points. [config file: psPaperSize]

-paperh size
    Set the paper height, in points. [config file: psPaperSize]

-level1
    Generate Level 1 PostScript. The resulting PostScript files will be significantly larger (if they contain images), but will print on Level 1 printers. This also converts all images to black and white. [config file: psLevel]

-enc encoding-name
    Sets the encoding to use for text output. The encoding-name must be defined with the unicodeMap command (see xpdfrc(5)). This defaults to "Latin1" (which is a built-in encoding). [config file: textEncoding]

-opw password
    Specify the owner password for the PDF file. Providing this will bypass all security restrictions.

-upw password
    Specify the user password for the PDF file.

-fullscreen
    Open xpdf in full-screen mode, useful for presentations.

-pagecmd command
    Run a shell command each time a new page is displayed, with the page number as an argument. This can be used for presentation recording. [config file: pageCommand]

-remote name
    Start/contact xpdf remote server with specified name (see the REMOTE SERVER MODE section below).

-exec command
    Execute a command (see the COMMANDS section below) in an xpdf remote server window (with -remote only).

-reload
    Reload xpdf remote server window (with -remote only).

-raise
    Raise xpdf remote server window (with -remote only).

-quit
    Kill xpdf remote server (with -remote only).

-cmd
    Print commands as they're executed (useful for debugging). [config file: printCommands]

-q  Don't print any messages or errors. [config file: errQuiet]

-cfg config-file
    Read config-file in place of ~/.xpdfrc or the system-wide config file.

-v  Print copyright and version information.

-h  Print usage information. (-help, --help and -? are equivalent.)

-m file1 file2 ...
    Open multiple pdf files: file1 file2 ... etc. NOTE: The list of files is terminated once an argument starting with a dash is encountered. In order to view file names starting with a dash, simply prepend "./". -m may be used multiple times.

Several other standard X options and resources will work as expected:

-display display
    [X resource: Xpdf.display]

-fg color
    (-foreground is equivalent.) [X resource: xpdf*Foreground]

-bg color
    (-background is equivalent.) [X resource: xpdf*Background]

-font font
    Override the fonts used for the user interface. This uses a single X core font for all user interface elements, which is not ideal; see the USER INTERFACE FONTS section below for better approaches. (-fn is equivalent.) [X resource: xpdf*font]

The color and font options only affect the user interface elements, not the PDF display (the 'paper').

The following X resources do not have command line option equivalents:

Xpdf.toolTipEnable
    Enables (if set to true) or disables (if set to false) the tool-tips on the toolbar buttons.

Xpdf.fullScreenMatteColor
    Sets the matte color to be used in full-screen mode. The default setting is "black".

OBSOLETE OPTIONS
The following command line options were accepted by earlier versions of Xpdf but are no longer allowed. In most cases, this is because they control rendering options that Poppler does not support.

-aa yes | no
    Obsolete. Controlled the use of font anti-aliasing in the PDF rasterizer.

-aaVector yes | no
    Obsolete. Controlled the use of vector anti-aliasing in the PDF rasterizer.

-eol unix | dos | mac
    Obsolete. Set the end-of-line convention to use for text output.

-freetype yes | no
    Obsolete. Controlled whether FreeType was used for font rasterization.

-t1lib yes | no
    Obsolete. Controlled whether t1lib was used for font rasterization.

CONTROLS

  On-screen controls, at the bottom of the xpdf window

left/right arrow buttons
    Move to the previous/next page.

double left/right arrow buttons
    Move backward or forward by ten pages.

dashed left/right arrow buttons
    Move backward or forward along the history path.

'Page' entry box
    Move to a specific page number. Click in the box to activate it, type the page number, then hit return.

zoom popup menu
    Change the zoom factor (see the description of the -z option above).

binoculars button
    Find a text string.

print button
    Bring up a dialog for generating a PostScript file. The dialog has options to set the pages to be printed and the PostScript file name. The file name can be '-' for stdout or '| command' to pipe the PostScript through a command, e.g., '| lpr'.

'?' button
    Bring up the 'about xpdf' window.

link info
    The space between the '?' and 'Quit' buttons is used to show the URL or external file name when the mouse is over a link.

'Quit' button
    Quit xpdf.

  Menu
Pressing the right mouse button will post a popup menu with the following commands:

Open...
    Open a new PDF file via a file requester.

Open in new window...
    Create a new window and open a new PDF file via a file requester.

Reload
    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.

Save as...
    Save the current file via a file requester.

Continuous view
    Toggles between single page and continuous view modes.

Rotate counterclockwise
    Rotate the page 90 degrees counterclockwise.

Rotate clockwise
    Rotate the page 90 degrees clockwise. The two rotate commands are intended primarily for PDF files where the rotation isn't correctly specified in the file.

Zoom to selection
    Zoom in to the currently selected rectangle.

Close
    Close the current window. If this is the only open window, the document is closed, but the window is left open (i.e., this menu command won't quit xpdf).

Quit
    Quit xpdf.

  Outline
If the PDF contains an outline (a.k.a., bookmarks), there will be an outline pane on the left side of the window. The width of the outline pane is adjustable with a vertical split bar via the knob near its bottom end.

  Text selection
Dragging the mouse with the left button held down will highlight an arbitrary rectangle. Any text inside this rectangle will be copied to the X selection buffer.

  Links
Clicking on a hyperlink will jump to the link's destination. A link to another PDF document will make xpdf load that document. A 'launch' link to an executable program will display a dialog, and if you click 'ok', execute the program. URL links call an external command (see the WEB BROWSERS section below).

  Panning
Dragging the mouse with the middle button held down pans the window.

  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.

s   Save the current PDF file via a file requester.

control-L
    Redraw the current page.

control-W
    Close the current window.

f or control-F or /
    Find a text string.

control-G
    Find next occurrence.

control-shift-G
    Find previous 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>
    Scroll down on the current page; if already at bottom, move to next page.

<Backspace> or <Delete> or <PageUp>
    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.

[   Rotate the page 90 degrees counterclockwise.

]   Rotate the page 90 degrees clockwise.

g   Activate the page number text field ("goto page").

0   Set the zoom factor to 125% (ready for increment and decrement).

+   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).

h   Set the zoom factor to 'height' (fit page height to window).

alt-F
    Toggle full-screen mode.

?   Open the 'about' dialog.

q or <Escape>
    Quit xpdf.

WEB BROWSERS
If you want to run xpdf automatically from netscape or mosaic (and probably other browsers) when you click on a link to a PDF file, you need to edit (or create) the files .mime.types and .mailcap in your home directory. In .mime.types add the line:

    application/pdf pdf

In .mailcap add the lines:

    # Use xpdf to view PDF files.
    application/pdf; xpdf -q %s

Make sure that xpdf is on your executable search path.

When you click on a URL link in a PDF file, xpdf will execute the command specified by the urlCommand config file option, replacing an occurrence of '%s' with the URL. For example, to call netscape with the URL, add this line to your config file:

    urlCommand "netscape -remote 'openURL(%s)'"

COMMANDS
Xpdf's key and mouse bindings are user-configurable, using the bind and unbind options in the config file (see xpdfrc(5)). The bind command allows you to bind a key or mouse button to a sequence of one or more commands.

  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.

scrollDownNextPage(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.

zoomFitHeight
    Set the zoom factor to fit-height.

zoomIn
    Zoom in - go to the next higher zoom factor.

zoomOut
    Zoom out - go the next lower zoom factor.

zoomToSelection
    Zoom in to the currently selected rectangle, if there is one.

rotateCW
    Rotate the page 90 degrees clockwise.

rotateCCW
    Rotate the page 90 degrees counterclockwise.

setSelection(pg,ulx,uly,lrx,lry)
    Set the selection to the specified coordinates on the specified page.

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.

openFileAtPage(file,page)
    Open a specified PDF file in this window and go to a page.

openFileAtPageInNewWin(file,page)
    Open a specified PDF file in a new window and go to a page.

reload
    Reload the current PDF file.

saveAs
    Save the PDF file, using the 'save as' dialog.

redraw
    Redraw the window.

raise
    Raise the window to the front.

closeWindow
    Close the window. If this was the last open window, clear the window, but don't quit from Xpdf.

closeWindowOrQuit
    Close the window. If this was the last open window, quit from Xpdf.

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)
        %p => current page number (or an empty string if
              no file is open)
        %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)
        %i => page containing the mouse pointer
        %j => x coordinate of the mouse pointer
        %k => y coordinate of the mouse pointer
        %% => %

    The external command string will often contain spaces, so the whole command must be quoted in the xpdfrc file:

        bind x "run(ls -l)"

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.

search(key)
    Search for the string key as if it had been entered in the 'find' dialog.

findNext
    Finds the next occurrence of the search string (no dialog).

findPrev
    Finds the previous 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.)

  Default Bindings
The default mouse bindings are as follows:

    bind mousePress1    any         startSelection
    bind mouseRelease1  any         endSelection followLinkNoSel
    bind mousePress2    any         startPan
    bind mouseRelease2  any         endPan
    bind mousePress3    any         postPopupMenu
    bind mousePress4    any         scrollUpPrevPage(16)
    bind mousePress5    any         scrollDownNextPage(16)
    bind mousePress6    any         scrollLeft(16)
    bind mousePress7    any         scrollRight(16)

The default key bindings are as follows:

    bind ctrl-home      any         gotoPage(1)
    bind home           any         scrollToTopLeft
    bind ctrl-end       any         gotoLastPage
    bind end            any         scrollToBottomRight
    bind pgup           any         pageUp
    bind backspace      any         pageUp
    bind delete         any         pageUp
    bind pgdn           any         pageDown
    bind space          any         pageDown
    bind left           any         scrollLeft(16)
    bind right          any         scrollRight(16)
    bind up             any         scrollUp(16)
    bind down           any         scrollDown(16)
    bind [              any         rotateCCW
    bind ]              any         rotateCW
    bind o              any         open
    bind O              any         open
    bind r              any         reload
    bind R              any         reload
    bind s              any         saveAs
    bind S              any         saveAs
    bind f              any         find
    bind F              any         find
    bind ctrl-f         any         find
    bind /              any         find
    bind ctrl-g         any         findNext
    bind ctrl-G         any         findPrev
    bind ctrl-p         any         print
    bind n              scrLockOff  nextPage
    bind N              scrLockOff  nextPage
    bind n              scrLockOn   nextPageNoScroll
    bind N              scrLockOn   nextPageNoScroll
    bind p              scrLockOff  prevPage
    bind P              scrLockOff  prevPage
    bind p              scrLockOn   prevPageNoScroll
    bind P              scrLockOn   prevPageNoScroll
    bind v              any         goForward
    bind V              any         goForward
    bind b              any         goBackward
    bind B              any         goBackward
    bind g              any         focusToPageNum
    bind G              any         focusToPageNum
    bind 0              any         zoomPercent(125)
    bind +              any         zoomIn
    bind -              any         zoomOut
    bind z              any         zoomFitPage
    bind Z              any         zoomFitPage
    bind w              any         zoomFitWidth
    bind W              any         zoomFitWidth
    bind h              any         zoomFitHeight
    bind H              any         zoomFitHeight
    bind alt-f          any         toggleFullScreenMode
    bind ctrl-l         any         redraw
    bind ctrl-w         any         closeWindowOrQuit
    bind ?              any         about
    bind q              any         quit
    bind Q              any         quit
    bind escape         any         quit

Previous versions of xpdf included a "viKeys" X resource. It is no longer available, but the following bindings are equivalent:

    bind h any scrollLeft(16)
    bind l any scrollRight(16)
    bind k any scrollUp(16)
    bind j any scrollDown(16)

REMOTE SERVER MODE
Xpdf can be started in remote server mode by specifying a server name (in addition to the file name and page number). For example:

    xpdf -remote myServer file.pdf

If there is currently no xpdf running in server mode with the name 'myServer', a new xpdf window will be opened. If another command:

    xpdf -remote myServer another.pdf 9

is issued, a new copy of xpdf will not be started. Instead, the first xpdf (the server) will load another.pdf and display page nine. If the file name is the same:

    xpdf -remote myServer another.pdf 4

the xpdf server will simply display the specified page.

The -raise option tells the server to raise its window; it can be specified with or without a file name and page number.

The -quit option tells the server to close its window and exit.

USER INTERFACE FONTS
In order to support international text in user interface elements, xpdf uses the support for UTF-8 and Xft fonts that was introduced in OpenMotif 2.3.

The user interface makes use of four fonts which are specified using Motif Render Tables: default for most text, mono for text in a monospaced font, and helpHuge and helpBig for headings in the About dialog. The fonts used can be customised using X resources. By default, they are configured as follows:

    Xpdf*renderTable.default.fontType: FONT_IS_XFT
    Xpdf*renderTable.default.fontName: Sans-Serif
    Xpdf*renderTable.default.fontSize: 12
    Xpdf*renderTable.default.fontEncoding: iso10646-1
    Xpdf*renderTable.helpHuge.fontType: FONT_IS_XFT
    Xpdf*renderTable.helpHuge.fontName: Serif
    Xpdf*renderTable.helpHuge.fontStyle: bold
    Xpdf*renderTable.helpHuge.fontSize: 20
    Xpdf*renderTable.helpHuge.fontEncoding: iso10646-1
    Xpdf*renderTable.helpBig.fontType: FONT_IS_XFT
    Xpdf*renderTable.helpBig.fontName: Serif
    Xpdf*renderTable.helpBig.fontSize: 16
    Xpdf*renderTable.helpBig.fontEncoding: iso10646-1
    Xpdf*renderTable.mono.fontType: FONT_IS_XFT
    Xpdf*renderTable.mono.fontName: Monospace
    Xpdf*renderTable.mono.fontSize: 12
    Xpdf*renderTable.mono.fontEncoding: iso10646-1

If you prefer to use X core fonts, as in earlier versions of xpdf, you can specify these using conventional resources, provided that you use fonts with the "iso10646-1" Unicode charset:

    Xpdf*font: -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso10646-1
    Xpdf*XmTextField.font: -*-courier-medium-r-normal-*-12-*-*-*-*-*-iso10646-1

EXIT CODES
Xpdf uses the following exit codes:

0   No error.

1   Error opening a PDF file.

99  Other error.

AUTHORS
The original Xpdf software and documentation are copyright 1996–2014 Glyph & Cog, LLC. Modifications for Poppler support and further development were done by the Debian and Gentoo Xpdf maintainers, and by xpopple contributors.

SEE ALSO
pdftops(1), pdftotext(1), pdftohtml(1), pdfinfo(1), pdffonts(1), pdfdetach(1), pdftoppm(1), pdftopng(1), pdfimages(1), xpdfrc(5)