Class Viewer

java.lang.Object
org.jpedal.examples.viewer.Viewer

public class Viewer extends Object

PDF Viewer

Run directly from jar with java -cp jpedal.jar org/jpedal/examples/viewer/Viewer

There are plenty of tutorials on how to configure the Viewer on our website Support Section.

If you want to implement your own there are tutorials at : Customizing the Viewer

We recommend you look at the full viewer as it is totally configurable and does everything for you.

Fully featured GUI viewer and demonstration of JPedal's capabilities.

This class provides the framework for the Viewer and calls other classes which provide the following functions:-

  • Values commonValues - repository for general settings.
  • PdfDecoder decode_pdf - PDF library and panel.
  • SwingThumbnailPanel thumbnails - provides a thumbnail pane down the left side of page - thumbnails can be clicked on to goto page.
  • PropertiesFile properties - saved values stored between sessions.
  • SwingGUI currentGUI - all Swing GUI functions.
  • SwingSearchWindow searchFrame (not GPL) - search Window to search pages and goto references on any page.
  • SwingCommands currentCommands - parses and executes all options.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static boolean
     
    static boolean
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    setup and run client
    Viewer(String prefs)
    setup and run client passing in paramter that points to the preferences file we should use.
    Viewer(Accessible rootContainer, String preferencesPath)
    setup and run client passing in parameter that points to the preferences file we should use.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addExternalHandler(Map<Integer,Object> newHandler, int type)
    Allows external helper classes to be added to JPedal to alter default functionality.
    static void
    debug(String[] args)
    run the viewer in debug mode
    void
    run with caution and only at end of usage if you really need
    executeCommand(int commandID, Object[] args)
    Execute Jpedal functionality from outside of the library using this method.
     
    org.jpedal.examples.viewer.gui.swing.SearchList
    Get the search results from a search performing in the Viewer.
    org.jpedal.examples.viewer.gui.SwingGUI
    open the file passed in by user on startup (do not call directly) USED by our tests
    void
    Should be called before setupViewer
    static void
    main(String[] args)
    main method to run the software as standalone application
    void
    openDefaultFile(String defaultFile)
     
    void
    setRootContainer(Object rootContainer)
     
    void
    initialise and run client (default as Application in own Frame)

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • exitOnClose

      public static boolean exitOnClose
    • closeCalled

      public static boolean closeCalled
  • Constructor Details

    • Viewer

      public Viewer()
      setup and run client
    • Viewer

      public Viewer(Accessible rootContainer, String preferencesPath)
      setup and run client passing in parameter that points to the preferences file we should use. preferences file
      Parameters:
      rootContainer - Is a swing component that the viewer is displayed inside
      preferencesPath - The path of the preferences file
    • Viewer

      public Viewer(String prefs)
      setup and run client passing in paramter that points to the preferences file we should use.
      Parameters:
      prefs - Full path to xml file containing preferences
  • Method Details

    • getSearchResults

      public org.jpedal.examples.viewer.gui.swing.SearchList getSearchResults()
      Get the search results from a search performing in the Viewer. This is how users searching from a Viewer object can retrieve results if they wish to use them outside of the Viewer.
      Returns:
      SearchList object containing the current search results list
    • main

      public static void main(String[] args)
      main method to run the software as standalone application
      Parameters:
      args - Program arguments passed into the Viewer.
    • debug

      public static void debug(String[] args)
      run the viewer in debug mode
      Parameters:
      args - Program arguments passed into the Viewer
    • getSwingGUI

      public org.jpedal.examples.viewer.gui.SwingGUI getSwingGUI()
      open the file passed in by user on startup (do not call directly) USED by our tests
      Returns:
      the current gui
    • openDefaultFile

      public void openDefaultFile(String defaultFile)
      Parameters:
      defaultFile - Allow user to open PDF file to display
    • getPdfDecoder

      public PdfDecoderInt getPdfDecoder()
    • setRootContainer

      public void setRootContainer(Object rootContainer)
    • loadProperties

      public void loadProperties(String props)
      Should be called before setupViewer
      Parameters:
      props - path to the properties file to load
    • setupViewer

      public void setupViewer()
      initialise and run client (default as Application in own Frame)
    • executeCommand

      public Object executeCommand(int commandID, Object[] args)
      Execute Jpedal functionality from outside of the library using this method. EXAMPLES commandID = Commands.OPENFILE, args = {"/PDFData/Hand_Test/crbtrader.pdf}" commandID = Commands.OPENFILE, args = {byte[] = {0,1,1,0,1,1,1,0,0,1}, "/PDFData/Hand_Test/crbtrader.pdf}" commandID = Commands.ROTATION, args = {"90"} commandID = Commands.OPENURL, args = {"http://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf"}

      for full details see https://support.idrsolutions.com/jpedal/tutorials/viewer/access-pdf-viewer-features-from-your-code

      Parameters:
      commandID - :: static int value from Commands to spedify which command is wanted
      args - :: arguements for the desired command
      Returns:
      any returned value from executed command
    • addExternalHandler

      public void addExternalHandler(Map<Integer,Object> newHandler, int type)
      Allows external helper classes to be added to JPedal to alter default functionality.

      If Options.FormsActionHandler is the type then the newHandler should be of the form org.jpedal.objects.acroforms.ActionHandler

      If Options.JPedalActionHandler is the type then the newHandler should be of the form Map which contains Command Integers, mapped onto their respective org.jpedal.examples.viewer.gui.swing.JPedalActionHandler implementations. For example, to create a custom help action, you would add to your map, Integer(Commands.HELP) -> JPedalActionHandler. For a tutorial on creating custom actions in the Viewer, see https://support.idrsolutions.com/jpedal/api-documents/custom-interfaces
      Parameters:
      newHandler - Implementation of interface provided by IDR solutions
      type - Defined value into org.jpedal.external.Options class
    • dispose

      public void dispose()
      run with caution and only at end of usage if you really need