Virtual OS/2 International Consumer Education
VOICE Home Page: http://www.os2voice.org
November 2001

[Newsletter Index]
[Previous Page] [Next Page]
[Feature Index]

editor@os2voice.org


Choosing the Best Adobe Acrobat PDF Reader

By Timothy Sipples © November 2001

Last month I described how eComStation and OS/2 Warp users can run Limewire, the popular Java-based Gnutella client for peer-to-peer file sharing. That topic proved quite popular, with a lot of feedback from readers. (Click here [Insert Link] for follow-up comments to that article.)

I find I'm constantly looking for better ways to tweak and tune my OS/2 Warp-based ThinkPad T21 for Internet access. One of the most popular document formats on the Internet is Adobe's proprietary Portable Document Format (PDF, a.k.a. Acrobat) standard. Unlike HTML, Acrobat provides a consistent appearance across different screens and printers. While Adobe offers an excellent (and free) Acrobat Reader for OS/2 Warp, I run across many newer Acrobat files that give Adobe's reader problems. That's because Adobe has added new features to the Acrobat format, sometimes causing problems with older reader software. Adobe's Windows 3.1 reader, which runs well under OS/2 Warp, still has the same problem.
Adobe Acrobat Reader 3.0 for OS/2
Pros: Native OS/2 software; excellent performance; nice anti-aliased fonts; Netscape plug-in with Acrobat web link support; free; superb printer output.
Cons: Has difficulty with newer PDF formats; forgets last-used directory.

When Acrobat Reader Version 3.0 for OS/2 Warp can deal with a particular PDF file, the results are terrific. Adobe wrote a great piece of software. Rumor has it that Adobe even offered the anti-aliasing font technology in its reader to IBM -- for a price, of course. Apparently IBM decided the price was too high. Nevertheless, many OS/2 Warp users keep Adobe's reader installed.

Fortunately there are Acrobat readers that can handle the newer PDF variants. Read on to learn more about state-of-the-art Acrobat viewers for OS/2 Warp.

Adobe Acrobat Viewer 1.1 for Java

Adobe itself comes to the rescue with an Acrobat viewer written in Java. On OS/2 Warp, Java 1.1.6 or later is required -- a very modest requirement these days. The Swing runtime is not needed.

I tested Acrobat Viewer 1.1 with Java 1.1.8 (August 30, 2001 build date). While Acrobat Viewer could display every PDF file I threw at it, it often stopped running for no apparent reason. I discovered that Adobe's download does not include all the fonts needed by the Java viewer, that some fonts are retrieved "on demand" from Adobe's ftp site. I would strongly recommend downloading these fonts to your hard disk, then changing Acrobat Viewer's preferences to fetch these fonts locally. (Find the setting ftp://ftp.adobe.com/pub/adobe/acrobatviewer/java/AcrobatFonts, and change it to a file URL -- for example, file://localhost/c:/acroview/fonts. Use the settings for the help pages as examples, since help pages are fetched locally.) In fact, I could never get this Internet font retrieval to work through IBM's firewall, despite a setting in the Acrobat Viewer that allows such access.
Adobe Acrobat Viewer 1.1 for Java
Pros: Runs on almost any system; good display quality; supports recent PDF variants; available as Java bean.
Cons: Doesn't stay maximized well; tricky setup as Netscape helper; poor printer support.

Acrobat Viewer did a poor job printing PDF files. I tested with a Hewlett-Packard LaserJet 4L (and IBM's latest LaserJet printer driver). Without "shrink to fit," letter size pages were misaligned, with the right edge chopped off. With "shrink to fit" turned on, the page had an excessive border around the edge (compared to the native Acrobat Reader) but was at least centered. In both cases, Acrobat Viewer had a habit of printing the background color of the document in a light shade of gray, which marred the output significantly. Occasionally Acrobat Viewer would completely crash or hang when attempting to print. For these reasons, I cannot recommend Acrobat Viewer for printing -- a shame because its display quality is quite good.

When first run, Acrobat Viewer takes an inventory of the Postscript and TrueType scalable fonts installed on your PC (in the C:\PSFONTS directory, normally). For some strange reason, Acrobat Viewer displayed an "Invalid Font" error message for one of the standard Helvetica files. This hiccup did not seem to have any negative impact on the software.

As a Java application, Acrobat Viewer will place its configuration files in the directory set by the JAVA_USER environment variable (\JAVA11 by default for Java 1.1.8). You may decide to point Acrobat Viewer to another directory, to keep these files better separated.

XPDF for XFree86
XPDF Sample Screenshot (Click for Full Size)Programmers in the UNIX/Linux world created a free PDF viewer for the X-Windows system, and there's an OS/2 Warp port of this viewer. XPDF for OS/2 requires XFree86 for OS/2, the free X-Windows system that operates in its own full screen session.
XPDF 0.92 (build 2) for OS/2
Pros: Excellent for dual Linux-OS/2 user; includes useful command line utilities; open source.
Cons: Supports only Postscript printers; full screen only; many users don't have XFree86 installed yet.

While XPDF's focus is not on user functionality, the basic features are all there, including document magnification. Printing is a sore spot, unless you happen to have a Postscript printer. Otherwise, you'll need Ghostscript or Warp Server's Advanced Printing, both of which can translate Postscript to other printer languages. You'll need to obtain the Zapf Dingbats font from some other source to run XPDF correctly. Fortunately, just about every other PDF and Postscript-related utility, including Ghostscript, ships with this critical font. XPDF for OS/2 also requires t1lib.

There's a DOS port of the XPDF viewer, available for use with the Arachne web browser for DOS. While Arachne probably cannot establish a network connection when running within OS/2 Warp, there shouldn't be any problem viewing content loaded from your hard disk (or a network drive letter). Without Arachne, DOS can run only XPDF's command line utilities. Naturally, DOS programs can only access short ("8 dot 3") filenames. This DOS viewer is probably much better than Adobe's old DOS reader.

[Editor's update: October 26, 2001, Today Alexander Mai has released XPDF 0.93 and t1lib 1.3.0 that is required for XPDF. Also note that XPDF not only requires t1lib that Timothy has listed, but also ttflib (http://pluto.spaceports.com/~os2/files/ttf12.zip) and the gzip packer/unpacker (http://hobbes.nmsu.edu/pub/os2/util/archiver/gz124_32.zip). ]

GSview (with Ghostscript) for OS/2
GSview Sample Screenshot (Click for Full Size)Ghostgum Software's Aladdin GSview and Aladdin Ghostscript have had many years to grow and mature. These tools are among the most popular in the Linux world, and OS/2 Warp users can enjoy excellent native versions of these tools as well. Right now, GSview appears to be the leader in PDF viewing for OS/2 Warp.
GSview 4.0 (with Ghostview 7.00) for OS/2
Pros: Rich functionality; relatively easy installation; open source; good display quality; uses native OS/2 help facility; sound-enabled; cross-platform.
Cons: Registration fee to remove minor nag dialog; non-CUA keyboard interface.

I followed just a few easy steps in the GSview documentation to install the software. Both GSview and Ghostscript are needed. (GSview's installation program takes care of Ghostview's installation.) The simple installation script can even create a GSview desktop icon, with PDF and Postscript files associated to GSview. No reboot is required. GSview displays a minor nag dialog at each startup if you fail to register the software. I plan to -- registration is only AUS $40. Otherwise, there are no functional differences after registration.

GSview can print in two different ways: using OS/2's printer drivers (the OS2PRN device) to generate the printer datastream, or using Ghostscript's own printer drivers to generate the printer datastream directly. For that reason, GSview may be the ultimate champ in printer support. Although the printer dialog is not typical for OS/2 applications, it's well executed for such a rich set of printer capabilities.

Since GSview relies on Ghostscript, Postscript files are no problem. GSview can display and print Postscript files, even to non-Postscript printers. GSview can also convert PDF and Postscript files to bitmap formats (such as JPEG and PCX) and vector formats (such as DXF), for web publishing and other purposes.

Both on screen and on the printed page, GSview handles fonts well. Adobe's Acrobat Viewer for Java did a poor job displaying an IBM reference story PDF, smashing characters together seemingly at random, while GSview displayed the same document beautifully. On occasion Adobe's tools produce better font output, but GSview compares favorably, consistently producing legible documents.

For the record, GSview could not print one of my IBM software brochures to the Lexmark Optra 40 Postscript color inkjet printer in my office. Despite the 24 MB of memory installed in the printer, apparently GSview's output from that brochure is too complex. (Acrobat Viewer for Java crashed trying to print the document. Acrobat Reader for OS/2 couldn't decipher the document.) GSview was able to print the IBM brochure to an IBM Network Printer 17 (using the LaserJet 4D Ghostscript driver at the full 600 dpi). Ghostscript (and, thus, GSview) on OS/2 seems to lack its own Color LaserJet driver, so I was unable to try printing the brochure to the Optra 40 in PCL mode.

Searching for text is a little too basic in GSview. There's no option to respect case, for example, and there's an odd pause before GSview searches the document (while Ghostscript extracts the text in the document). Also, strangely the PgDn and PgUp keys do not turn pages in the document -- plus (+) and minus (-) keys perform that function. And short of starting multiple instances of GSview, opening a second PDF file will close the first. Despite these oddities, GSview shines.

Adobe Acrobat (Win32) with Odin

Some users report that Adobe's Acrobat Reader for 32-bit Windows platforms runs reasonably well with Odin. Visit the Netlabs Odin page for more information. October's issue of the OS2VOICE newsletter has an excellent Odin article that may also help.

Defining PDF Handling in Netscape

Almost any PDF viewer can be used as a Netscape helper application. GSview, for example, works well as a Netscape helper. Here are the step-by-step instructions for Netscape Communicator 4.61 and GSview:

  1. Install GSview.
  2. If necessary, rename Acrobat Reader for OS/2's Netscape plug-in file. Locate the NPPDFOS2.DLL file (usually in the \NETSCAPE\PROGRAM\PLUGINS directory), and rename the file (to NPPDFOS2.BAK, for example). (No other application can handle PDF files if the Acrobat plug-in is active.)
  3. Restart Netscape.
  4. View the list of helper associations. From Netscape's menu, select Edit -> Preferences. Click on the plus (+) sign next to Navigator, if necessary, then click on Applications. In the Description list box, click on each entry, one by one, from the beginning of the list to the end. Make sure no entry has a file extension of PDF or a MIME type of application/pdf. If such an entry exists, remove it.
  5. Add the PDF MIME type. Click on the New Type button. For Description of type, enter Adobe Acrobat. For File extension, enter PDF. For MIME Type, enter application/pdf. And for Application to use, enter the full path to GSview (for example, C:\GHOSTSCRIPT\GSVIEW2\GVPM.EXE) or another PDF viewer. Then click on OK to close the dialog box and save this new MIME type association.
  6. Test the PDF viewer from Netscape. Visit any web site with PDF document web links (such as this IBM web page).

Unlike the Adobe Acrobat plug-in, a PDF viewer used as a helper application does not allow viewing the first page while the rest of the document downloads. Instead, the entire document must download before the viewer starts. Also, embedded web links in PDF documents may work differently or may not work at all.

"2UP" Printing

To cut down on paper use, I often like to print two PDF pages reduced to fit side-by-side on a single letter size sheet of paper. Roger Lapp's "2UP" printer utility can do the job. None of the PDF viewers described above have this capability built-in, although select OS/2 printer drivers might.

References:

Adobe Acrobat Reader Reader for OS/2 Warp - Acrobat Reader for OS/2 Warp
Adobe Acrobat Viewer 1.1 for Java - http://www.adobe.com/products/acrviewer/main.html
XPDF for XFree86 - http://migdal.ikp.physik.tu-darmstadt.de/~mai/os2/data/xpdf.zip
ttflib - http://pluto.spaceports.com/~os2/files/ttf12.zip
gzip packer/unpacker - http://hobbes.nmsu.edu/pub/os2/util/archiver/gz124_32.zip
GSview (with Ghostscript) for OS/2 - http://www.cs.wisc.edu/~ghost/


[Feature Index]
editor@os2voice.org
[Previous Page] [Newsletter Index] [Next Page]
VOICE Home Page: http://www.os2voice.org