Last Modified: Dec 1 1994, 10:47
PDF (Portable Document Format) is a format defined by Adobe and
describes a page description language that supports hyperlinks. The
adobe product `distill' can create PDF documents from postscript ones
by translating the page description. In addition, it allows the
postscript file to specify the hyperlinks through a new postscript
operator, pdfmark.
This
alpha release
of the changed version of ghostview is a first
attempt to make ghostview pdfmark aware. It recognizes the pdfmark
operator, and tries to cretae `hotlinks' on the display. A key click
on the link follows the link.
The companion products, the modifications to dvips by Mark Doyle and
the set of macros comprising hypertex (as described at
xxx)
facilitates the generation of these ps
files from TeX documents. The modified dvips actually uses a
postscript procedure pdfm (which translates to an appropriate call to
pdfmark if pdfm is undefined) to describe the linkage structure. As
the translation of pdfm to pdfmark is lossy, ghostview should ideally
understand pdfm directly: see the TODO list.
All keys work as in the standard release of ghostscript: except
1) any key-click inside a link follows link instead of magnifying
it.
2) b or B goes back in link history if history is non-null: goes to
previous page (default behaviour) otherwise. (delete, backspace
etc. are still bound to previous_page) does nothing on first page
if link history empty.
3) page menu has an extra entry for back which works as in (2).
Here is what it never plans to do:
1) Support SRCPAGE option of pdfmark.
2) Support pdfmarks in non-DSC structured documents.
Here is the TODO list. (can also be considered BUG list)
1) Handle pdfmarks of kinds other than /LNK (/ANNOT etc. should be
very easy) (currently ignores them)
2) Handle pdfmarks called in non-default coordinate system.
3) Handle /LNK to other documents.
4) Look at target view specification as well (currently it only looks
at target page)
5) Check if communication with ghostscript possible through means
other than the stdout.
6) Do a proper job of parsing pdfmark parameters.(easy but tedious)
7) Use the rx and ry parameters of the /Border specification of
pdfmark. (easy)
8) Support forward/backward navigation or menu-oriented navigation in
link history.
Here is the TODO list for processing pdfm (in addition to pdfmark).
1) Allow initial jump to arbitrary target.
2) Allow user specified jump to arbitrary target.
3) Take into account target coordinate.
4) Allow network URL's.
5) Make middle click open a smaller window with the target properly
centered.