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 SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionViewer()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 SummaryModifier and TypeMethodDescriptionvoidaddExternalHandler(Map<Integer, Object> newHandler, int type) Allows external helper classes to be added to JPedal to alter default functionality.static voidrun the viewer in debug modevoiddispose()run with caution and only at end of usage if you really needexecuteCommand(int commandID, Object[] args) Deprecated, for removal: This API element is subject to removal in a future version.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.SearchListGet the search results from a search performing in the Viewer.org.jpedal.examples.viewer.gui.SwingGUIopen the file passed in by user on startup (do not call directly) USED by our testsorg.jpedal.examples.viewer.gui.swing.SwingThumbnailPanelGet the thumbnail panel.getViewerValue(ViewerValues value) Query the Viewer for the values it holds.voidhandleArguments(String[] args) Have the viewer handle program argumentsvoidloadProperties(String props) Should be called before setupViewervoidloadProperties(Map<String, String> props) Should be called before setupViewerstatic voidmain method to run the software as standalone applicationvoidopenDefaultFile(String defaultFile) voidsetRootContainer(Object rootContainer) voidinitialise and run client (default as Application in own Frame)
- 
Field Details- 
exitOnClosepublic static boolean exitOnClose
- 
closeCalledpublic static boolean closeCalled
 
- 
- 
Constructor Details- 
Viewerpublic Viewer()setup and run client
- 
Viewersetup 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
 
- 
Viewersetup 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- 
getSearchResultspublic 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
 
- 
mainmain method to run the software as standalone application- Parameters:
- args- Program arguments passed into the Viewer.
 
- 
debugrun the viewer in debug mode- Parameters:
- args- Program arguments passed into the Viewer
 
- 
getSwingGUIpublic 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
- 
loadPropertiesShould be called before setupViewer- Parameters:
- props- path to the properties file to load
 
- 
loadPropertiesShould be called before setupViewer- Parameters:
- props- path to the properties file to load
 
- 
setupViewerpublic void setupViewer()initialise and run client (default as Application in own Frame)
- 
handleArgumentsHave the viewer handle program arguments- Parameters:
- args- :: Program arguments passed into the Viewer.
 
- 
executeCommand@Deprecated(since="2023.01", forRemoval=true) public Object executeCommand(int commandID, Object[] args) Deprecated, for removal: This API element is subject to removal in a future version.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 wanted
- args- :: arguments for the desired command
- Returns:
- any returned value from executed command
 
- 
executeCommandExecute 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 wanted
- args- :: arguments for the desired command
- Returns:
- any returned value from executed command
 
- 
getViewerValueQuery 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
 
- 
getOutlinePanelGet the outline panel.- Returns:
- the returned object is a SwingOutline panel
 
- 
getThumbnailPanelpublic org.jpedal.examples.viewer.gui.swing.SwingThumbnailPanel getThumbnailPanel()Get the thumbnail panel.- Returns:
- the returned object is a SwingThumbnailPanel
 
- 
getPageGroupingGet the page grouping.- Parameters:
- pageNumber- the page number
- Returns:
- the PdfGrouping object for the page to access text content
 
- 
getPageCounterGet the page counter- Returns:
- the returned object is a JTextField
 
- 
addExternalHandlerAllows 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
 
- 
disposepublic void dispose()run with caution and only at end of usage if you really need
 
- 
executeCommand(ViewerCommands, Object[])instead.