JavaFX PDF File am Bildschirm anzeigen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Der einfachste Weg wäre wohl die Konversion in ein Bild, welches du dann in ein oder mehrere ImageView-Komponenten (je nachdem, wie viele Seiten das Dokument hat) renderst.

Bei einem einseitigen PDF-Dokument dürfte es sich ungefähr so gestalten:

var document = PDDocument.load(getClass().getResourceAsStream("path/to/pdf/file"));
var renderer = new PDFRenderer(document);
var image = renderer.renderImage(0);

var container = new Pane();
var imageView = new ImageView(SwingFXUtils.toFXImage(image, null));
container.getChildren().add(imageView);

var scene = new Scene(container, image.getWidth(), image.getHeight());
primaryStage.setScene(scene);
primaryStage.show();

Für eine Darstellung von Text und Bild in einer Komponente eignet sich andernfalls das TextFlow-Element.

Oder du wandelst das Dokument mittels Pdf2Dom in ein HTML-Dokument um, welches du folgend in ein WebView hineinlädst.