The main goal of the DigiPaper viewer applet is to make DigiPaper files universally
viewable, without the need to download and configure special viewers or plugins. In order
to be practical, the viewer applet must also be small enough that it downloads quickly and
be fast enough to provide interactive document viewing.
The Java
byte code for the DigiPaper viewer applet is quite small, about 250KB when compressed into
a JAR file, and thus the applet can be downloaded fairly quickly. Moreover, with caching,
the applet only needs to be downloaded once. The size of the applet is very small when
compared with other document or image viewers. For example the Acrobat plugin for Netscape
is over 2MB and a simple TIFF viewer is about 700KB. The DigiPaper viewer applet reads a
DigiPaper file, parses it into token dictionaries and position information, and decodes
the tokens (which are G4 compressed) and the positions (which are Huffman
coded). Thus the applet includes a G4 decoder and a Huffman decoder.
A 100dpi page takes about a second to display on a 200Mhz Pentium machine, once the
document is downloaded. The applet uses the multi-threading capabilities of Java to run
several concurrent threads. The user interface runs in a separate thread to provide better
interaction when the viewer is preparing pages for display. For instance, this enables the
next page to be prepared for viewing while the current page is being displayed, in order
to reduce delay for the common case of stepping ahead from one page to the next. It also
enables the first page of a document to be prepared for display concurrently with the file
downloading, to improve the time until the first image is viewed.
![]() |
go to first page |
![]() |
go back five pages |
![]() |
go to previous page |
![]() |
go to next page |
![]() |
go forward five pages |
![]() |
go to last page |
The arrow buttons allow for easy navigation between pages of the document. After selecting one of the buttons with the mouse, you can use TAB to switch between buttons, and space to depress them.
In addition, you can type a specific page or anchor into the text box in the center. Once you press enter, the Viewer will begin loading the requested page.
Invalid page numbers and anchors are ignored.
This
utility is similar to the Pan option in the Mouse Menu. The outer box is
a thumbnail of the current page, and the inner box shows what portion of the page is
currently visible in the applet. To view a different area of the applet, you can click on
the thumbnail. The inner box will center on the mouse point, and that portion of the
page will become visible.
This button brings up the "XIFF Document Information"
window, shown here.
It displays the contents of the Author Block stored in the image itself. The Author Block consists of keywords and values, both of which are displayed, in the format "keyword: value".
Click "Ok" to close the window.
Clicking on
the Thumbnails button brings up a menu, which gives you a choice of opening the Thumbnails
in the Viewer or in a Window.
Both options display thumbnails of all of the pages in the document. Moving the mouse over any page highlights it, and the text at the bottom tells you what page is currently selected. Clicking on any page loads it into the viewer. A purple outline indicates that you have attempted to access that particular page through the thumbnail.
Choosing "inWindow" opens up a new window. This is useful for using this as a navigation tool, so you can see the Thumbnails and the normal image at the same time. You can resize the window to show as many or as few of the pages as you want.
If you prefer to have the thumbnails displayed within the main viewer, just select
"in Viewer" from the mouse menu. To return to normal view, click on a
page.
This
menu gives you a variety of choices to help you view the document. With the exception of
the thumbnail option, all of these merely change what happens when you use the
mouse. Anything you do registers when you release the mouse button.
Hyperlinks is for documents that have links, or areas that will either load another url, page, or anchor. This mode displays links in the document, and clicking on them follows the links.
Pan allows you to move the image within the applet, without using the scrollbars. Click on a point within the document, and drag the mouse. The point you down-clicked on will "follow" the mouse as long as you hold the button down.
Zoom Region lets you select a region, and sets the factor and position so that the selected region is displayed as large as possible within the visible window. Selecting a region larger than the window will zoom out, so that the whole region can fit in the window. Selecting a region smaller than the image will generally zoom in, so the selected region fills up the space of the window.
Zoom In and Zoom Out make it easy to zoom in and out on a specific point. Zooming in doubles the zoom factor, and zooming out halves it. Once you reach an extreme, the zoom mode switches to its opposite.
The Close button essentially frees all of the memory taken up by the applet. It frees up system resources so you can do other things. It is not necessary to use this button, but if you need to, you can kill the applet this way.
As an alternative to the Mouse Menu, you can use the buttons next to it. zooms in at twice the
current factor, retaining the same point as the upper left corner, while
zooms out at half of
the current factor. The third button has a variety of uses, from displaying
the current factor, to allowing you to choose your own factor. Normally, it displays
the current zoom factor, which defaults to full size, 100%. Clicking on this button causes
a pull-down menu to appear. Click again to see the menu, which lists several choices. Each
of the numbers is fairly straightforward. Selecting a number will magnify the image
to that percentage. Page Width calculates the factor that will make
the width of the current page fit within the current window, and changes to that
factor. Whole Page is similar, except it makes the entire page fit
to the window. Selecting Custom brings up a text box for you to fill in
an integer value for a specific percentage. After filling in an integer value, press
enter, and it will zoom to the specified factor. Invalid values, such as characters or
decimals are ignored.