--- /dev/null
+package org.argeo.app.ui.publish;
+
+import java.awt.image.BufferedImage;
+import java.nio.file.Paths;
+
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.rendering.PDFRenderer;
+import org.argeo.eclipse.ui.specific.BufferedImageDisplay;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+
+public class PdfViewer {
+ public static void main(String[] args) throws Exception {
+ PDDocument doc = PDDocument.load(Paths.get(args[0]).toFile());
+ PDFRenderer renderer = new PDFRenderer(doc);
+
+ BufferedImage image = renderer.renderImageWithDPI(0, 300);
+
+ Display display = new Display();
+ Shell shell = new Shell(display);
+ shell.setLayout(new FillLayout());
+
+ shell.setSize(200, 200);
+
+ BufferedImageDisplay imageDisplay = new BufferedImageDisplay(shell, SWT.NONE);
+ imageDisplay.setImage(image);
+
+ shell.open();
+ while (!shell.isDisposed()) {
+ if (!display.readAndDispatch())
+ display.sleep();
+ }
+ display.dispose();
+ }
+}