How to add a PDF viewer to your Java application
JPedal includes a very comprehensive PDF viewer which makes use of both Swing and JavaFX for the best possible viewing solution.
The Viewer is customizable allowing its appearance to be altered to best suite your needs. The Viewer is written in Java but can be run from other languages or command line.
If you do not have JPedal, you can download a trial copy:
View PDF files from Command Line or another language
java -jar jpedal.jar --view "inputFile.pdf"
View PDF files in Java - simple example
// If you want to set a look and feel
System.setProperty("org.jpedal.userControlledLAF", "javax.swing.plaf.metal.MetalLookAndFeel");
Viewer viewer = new Viewer(rootContainer,null);
viewer.setupViewer();
viewer.executeCommand(Commands.OPENFILE, new Object[] {"inputFile.pdf"});
This uses the JPedal Viewer class. The Viewer default to using the Look and Feel on the operating system, if you want to change this fully details can be found here.
View PDF files in existing Java Application - add Viewer to another Swing Component
// If you want to set your a look and feel
System.setProperty("org.jpedal.userControlledLAF", "javax.swing.plaf.metal.MetalLookAndFeel");
//Create display JFrame
JFrame frame = new JFrame();
frame.getContentPane().setLayout(new BorderLayout());
//This could be any JPanel from your application
final JPanel rootContainer = frame.getContentPane();
Viewer viewer = new Viewer(rootContainer,null);
viewer.setupViewer();
viewer.executeCommand(Commands.OPENFILE, new Object[] {"inputFile.pdf"});
//add viewer to your application
frame.add(rootContainer, BorderLayout.CENTER);
//Display the example frame with embedded PDF viewer
frame.setTitle("Viewer in External Frame");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
As well as adding the Viewer to your own application you can also customize the Viewer to control which options are present using the Viewers properties file. Once you have created a properties file that displays the options you require it can be loaded by the Viewers constructor shown above. To do this you just need to pass in the file’s path as the second parameter.