Class Viewer
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
-
Constructor Summary
ConstructorDescriptionViewer()
setup and run clientsetup 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. preferences file -
Method Summary
Modifier and TypeMethodDescriptionvoid
addExternalHandler
(Map<Integer, Object> newHandler, int type) Allows external helper classes to be added to JPedal to alter default functionality.static void
run the viewer in debug modevoid
dispose()
run with caution and only at end of usage if you really needexecuteCommand
(int commandID, Object[] args) Deprecated.executeCommand
(ViewerCommands command, Object... args) Execute Jpedal functionality from outside the library using this method.Get the outline panel.Get the page countergetPageGrouping
(int pageNumber) Get the page grouping.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 testsorg.jpedal.examples.viewer.gui.swing.SwingThumbnailPanel
Get the thumbnail panel.getViewerValue
(ViewerValues value) Query the Viewer for the values it holds.void
loadProperties
(String props) Should be called before setupViewerstatic void
main method to run the software as standalone applicationvoid
openDefaultFile
(String defaultFile) void
setRootContainer
(Object rootContainer) void
initialise and run client (default as Application in own Frame)
-
Field Details
-
exitOnClose
public static boolean exitOnClose -
closeCalled
public static boolean closeCalled
-
-
Constructor Details
-
Viewer
public Viewer()setup and run client -
Viewer
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 insidepreferencesPath
- The path of the preferences file
-
Viewer
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
main method to run the software as standalone application- Parameters:
args
- Program arguments passed into the Viewer.
-
debug
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
- Parameters:
defaultFile
- Allow user to open PDF file to display
-
getPdfDecoder
-
setRootContainer
-
loadProperties
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
Deprecated.useexecuteCommand(ViewerCommands, Object[])
instead.Execute Jpedal functionality from outside 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 specify which command is wantedargs
- :: arguments for the desired command- Returns:
- any returned value from executed command
-
executeCommand
Execute Jpedal functionality from outside the library using this method.EXAMPLES
command = Command.OPENFILE, args = {"/PDFData/Hand_Test/crbtrader.pdf}"
command = Command.OPENFILE, args = {byte[] = {0,1,1,0,1,1,1,0,0,1}, "/PDFData/Hand_Test/crbtrader.pdf}"
command = Command.ROTATION, args = {"90"}
command = Command.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:
command
- :: enum value from ViewerCommands to specify which command is wantedargs
- :: arguments for the desired command- Returns:
- any returned value from executed command
-
getViewerValue
Query the Viewer for the values it holds.- Parameters:
value
- :: enum value from ViewerValues to specify which value is wanted- Returns:
- any returned value or null
-
getOutlinePanel
Get the outline panel.- Returns:
- the returned object is a SwingOutline panel
-
getThumbnailPanel
public org.jpedal.examples.viewer.gui.swing.SwingThumbnailPanel getThumbnailPanel()Get the thumbnail panel.- Returns:
- the returned object is a SwingThumbnailPanel
-
getPageGrouping
Get the page grouping.- Parameters:
pageNumber
- the page number- Returns:
- the PdfGrouping object for the page to access text content
-
getPageCounter
Get the page counter- Returns:
- the returned object is a JTextField
-
addExternalHandler
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 solutionstype
- 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
-
executeCommand(ViewerCommands, Object[])
instead.