Notes: Xpdf

Package contents

The Xpdf distribution actually contains six programs:

Xpdf
This is the actual Xwindows viewer program and therefore the most visible part of the distribution.
pdfimages
Pdfimages saves images from a Portable Document Format (PDF) file as Portable Pixmap (PPM), Portable Bitmap (PBM), or JPEG files.
pdfinfo
Pdfinfo prints the contents of the ŽInfo' dictionary (plus some other useful information) from a Portable Document Format (PDF) file.
pdftopbm
Pdftopbm converts Portable Document Format (PDF) files to black-and-white image files in Portable Bitmap (PBM) format.
pdftops
As the name implies, this filter converts a PDF document to a PS file suitable for printing. Graphics elements are preserved by this filter.
pdftotext
This program extracts the text portions of a PDF document and saves them to a plain ASCII file. Useful when working via slow lines.

Building

vms_make.com makes some effort to check the compiler installation. If it complains about a missing C++ compiler chances are very good, that actually you don't have one installed. Note that C++ is an entirely seperate product from C, so having a C compiler installed on your system (which is also neccessary) does in no way imply that you also have C++. If you're not sure contact your system manager or drop me a note and we'll try to sort out things together.

Parameters

vms_make.com takes up to three parameters:

  1. Configuration settings
    xpm
    Enable XPM support for Xpdf. Make sure you've installed both the headerfiles as well as the compiled object library in your X11 path then. Information about the xpm library distribution can be found here.
    a4
    Use european A4 as the default paper size.
    japanese
    Compile Xpdf with support for Japanese fonts
    compress
    Use compress to decode embeded images (instead of the default Gzip).
  2. Compiler detection
    In case you want to override the automatic compiler detection specify either DECC or GCC as the second parameter, e.g. @vms_make "" GCC
  3. T1lib support
    In case you want to build a copy of xpdf with t1lib you need to tell the script where to find the header files and object library. The format of this parameter is (inc=<dir>,olb=<lib>). For use with Xpdf on OpenVMS t1lib 1.0.0 plus a patch is required.

Sample invocation of the script

  
@vms_make xpm,a4,japanese "" -
	  (inc=public$root:[xtools.libs.t1lib.lib.t1lib],olb=pubbin:t1.olb)

Decryption?!

Having the decryption patches in Xpdf is more important than one would expect at first sight. Many documents use compressed PDF, which also needs the decryption routines to be rendered. Due to legal reasons the decryption code can't be distributed from the main site in the US.

T1lib

The main reason why one actually needs t1lib support for Xpdf on OpenVMS is to correctly render rotated strings. While this is supported by some Xservers (e.g. XFree on Linux), it is not supported natively on OpenVMS (at least up to Motif 1.2.5), so one has to resort to using t1lib to add this capability. As a bon t1lib also should improve the quality of the display by using antialiasing.

Xresources

Xpdf doesn't use an own Xresource file but relies on the Xresource information it gets from the Xserver. To set values for this process you can change decw$xdefaults.dat in your Xresource directory. Changes in this file only take effect after the next restart of the server. For experimenting with different settings one is better off using Xrdb, which allows to load new values for a running Xserver.
If you do use t1lib with Xpdf you need to set one Xresource for each of the 14 well-known PDF fonts. An example for these settings can be found here.
In case you don't have the needed fonts already on your system (they are e.g. part of Grace), you can get a copy of my t1lib font collection from here.

Special OpenVMS notes

Example

Just in case you don't have a PDF document handy to check how Xpdf is working, you can fetch a copy of the VMS book from this server, which contains a short history of the OpenVMS operating system issued by Digital.


User Notes

Notes Entry

Name: Email:


[Up]  HTML 3.2 Checked! [Viewable With Any Browser]

Comments to: Martin P.J. Zinser
Last modified: 20000822