# PDFViewer

Version 0.2.1
2000-Aug-27

Copyright 2000 Michael Pfeiffer (michael.pfeiffer@utanet.at).

This is a PDF reader for BeOS. PDFViewer is based on xpdf 0.91 and BePDF 0.6. It handles PDF files up to version 1.3 and handles encrypted files.

## Index

- Acknowledgement
- Volunteers Wanted
- Keyboard Control
- Mouse Control
- Changes
- Compiling
- Known Bugs
- To Do

## Acknowledgement

- Derek B. Noonburg for xpdf.
- Hubert Figuiere for BePDF.
- NAITOH Jun for the Japanese Font Support.

## Volunteers Wanted

### Documentation

I am very lazy writing documentation as you can see (especially when it's not in my native language). So I could need a volunteer who writes the documentation. Send an email to michael.pfeiffer@utanet.at if you want to help. Thanks.

## Keyboard Control

- Space/Backspace ... scroll forward/backward.
- Cursor Keys ... scroll a little bit in the direction of the cursor key.
- Page Up/Down ... next/previous page.

## Mouse Control

- Primary Mouse Button over link ... follows link.
- Primary Mouse Button over free space ... moves view.
- Secondary Mouse Button or Primary Mouse Button + Control Key
  Selects a rectangle to copy into the clipboard. Both text and a bitmap are copied to the clipboard. Use paste inside a text editor to insert the text. Use paste inside Gobe Productive Graphics or Image Processing to insert the bitmap.

## Changes

### Release 0.1.0, Jul 29th 2000

- Fixed scrollbar bug.
- Added navigation with the keyboard.
- Added moving the view with the mouse.
- Added code for displaying masked images.
- Improved code for drawing images.
- Some special characters are now displayed.
- Fixed bug in stroke function (line width was not set correctly).
- Added a status window.

### Release 0.1.1, Jul 30th 2000

- Fixed image color bug.

### Release 0.1.2, Jul 30th 2000

- Added handling of document internal links and URI links.

### Release 0.1.3, Aug 11th 2000

- Added character decoding for Symbol Font.
- Improved character decoding.
- Added an open dialog box.
- Added more navigation buttons.
- Added drag and drop support to open a document in the current window.

### Release 0.1.4, Aug 13th 2000

- Added printing support.
- Added page rotation.
- Fixed image bug (image was not rotated).

### Release 0.1.5, Aug 15th 2000

- Fixed masked image bug.

### Release 0.2, Aug 22nd 2000

- Japanese Font support added by NAITOH Jun.
- First PPC release.
- Switch from xpdf 0.9 to xpdf 0.91.
- Added realtime dragging of the view.
- Added searching for text.
- Added text copy.
- Fixed another image bug (hope this is the last :).

### Release 0.2.1, Aug 27th 2000

- Added Type 1 font support (uses t1lib).
- Fixed some minor bugs.

## Compiling PDFViewer

The necessary project files for x86 and ppc:

- T1-1.0.1/t1lib.a.x86.proj
- PDFViewer-x86.proj
- PDFViewer-ppc.proj

## Compiler Options

### Mandatory Macro Definitions

- -DHAVE_DIRENT_H=1
- -DX_DISPLAY_MISSING=1
- -DHAVE_POPEN=1
- -DUSE_GZIP
- -DSINGLE_DOCUMENT_VIEW

### Optional Macro Definitions

- -DJAPANESE_SUPPORT=1 Enable this if you want to read japanese PDF files.
- -DUSE_TYPE3_RENDERER Enable this if you want to view PDF files which include Type 3 Fonts. xpdf 0.91 contains code which renders these Type 3 Fonts, but it is horribly slow at the moment. A next release of xpdf might have a better Type 3 font engine, with caching. So be patient :).
- -DHAVE_T1LIB_H=1 Set this to 1 to render Font Type 1.

## Known Bugs

- The view should not flicker when selecting a text rectangle.
- Line mode is not set when printing.
- Font Type 3 characters are printed in 72 dpi only.

## To Do

- Render Dingbats font.
- Render Type3 fonts.
- Printer Settings (Odd/Even Page Number, Normal/Reverse Order).
- Compile the xpdf tools (pdfimages, pdfinfo, pdftopbm, pdftops, pdftotext).

For further informations and limitations read README.beos in the directory doc.BeOS and the xpdf documentation.