Link

Using PDF Viewer in Java

JPedal includes a very comprehensive PDF viewer which makes use of both Swing and JavaFX for the best possible viewing solution. It is written in Java but can be run from other languages or command line.

If you do not have a JPedal, you can download a trial copy from here.

PDF Viewer from Command Line or another language

java -jar jpedal.jar --view "pdfFile.pdf"

PDF Viewer in Java - simple example

// If you want to set your a look and feel
System.setProperty("org.jpedal.userControlledLAF", "javax.swing.plaf.metal.MetalLookAndFeel");

Viewer viewer = new Viewer(rootContainer,null);
viewer.setupViewer();

This uses the JPedal Viewer class. If you want to set a look and feel for the viewer standalone, you can as shown on this FAQ or you can add your LookAndFeel to your application by just adding the line show above, if you want your own LookAndFeel just set the flag as “true”.

Java PDF Viewer - 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());

final JPanel rootContainer = new JPanel();
//additional label to show this is another program
final JLabel label = new JLabel("JPedal viewer Test");
label.setFont(new Font("Lucida",Font.BOLD,20));
label.setForeground(Color.RED);
frame.add(label,BorderLayout.NORTH);

Viewer viewer = new Viewer(rootContainer,null);
viewer.setupViewer();

//add viewer to your application
frame.add(rootContainer,BorderLayout.CENTER);

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.