Draw additional objects in Viewer

Sometimes you may wish to overlay a display page with additional text or annotations (for example a copyright notice) but not have them as part of the PDF. Because JPedal provides a standard JPanel component you can manipulate it directly – the advantage of this method is JPedal takes care of all scaling and rendering issues.

Adding objects to a displayed page

The method org.jpedal.PdfDecoder.drawAdditionalObjectsOverPage(…) makes this possible. This function is best explained with example code, so there is a documented example in org.jpedal.examples.viewer.gui.SwingGUI. This is a good starting point for experimenting with this feature.

If you wish to print across a page range, this really needs to be setup first. For this reason, PDF printing is handled separately. The methodorg.jpedal.PdfDecoder.printAdditionalObjectsOverPage(…) makes this possible. This function is best explained with example code, so there is a documented example in org.jpedal.examples.viewer.gui.SwingGUI, below the draw code.

Removing objects from a displayed page

The method org.jpedal.PdfDecoder.flushAdditionalObjectsOnPage() makes this possible. This function is best explained with example code, so there is a documented example in org.jpedal.examples.viewer.gui.SwingGUI. This feature is avalible from 3.45b32.

Custom objects

You can also add custom objects which implement the interface org.jpedal.external.JPedalCustomDrawObject
to give you total control over drawing. It also includes methods to control visibility and a separate method for printing. An inner class example is located here.

Note: In certain cases a PDF file can have a clip set on it, in which case some custom objects may not be visible. We suggest setting the clip to null before any additional objects are drawn.

Important note on PDF printing

You can either create separate objects for each page or create a global set for all pages. This is done by usingprintAdditionalObjectsOverAllPages() method. For an example click here