Fix #29: Eigenes PDF-Rendering mit PDFBox statt PDFViewFX

Ersetzt die PDFView-basierte Vorschau durch direktes Rendering einzelner Seiten
mit PDFBox (Loader.loadPDF + PDFRenderer.renderImageWithDPI bei 120 DPI).
BufferedImage wird über SwingFXUtils.toFXImage in eine JavaFX-Image konvertiert
und in einer ImageView angezeigt. fit-to-view entsteht nativ durch Binding von
fitWidth/fitHeight an den StackPane-Bereich bei preserveRatio=true. Keine
Scrollbalken, keine Zoom-Einschraenkungen, Seitenanfang immer sichtbar.

Lazy Rendering mit In-Memory-Cache fuer bereits gerenderte Seiten; asynchrones
Oeffnen und Rendering auf pdf-preview-worker-Thread; "latest preview request
wins"-Prinzip bleibt erhalten. pdfviewfx-Abhaengigkeit aus adapter-in-gui pom
entfernt, pdfbox stattdessen explizit aufgenommen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-24 16:05:02 +02:00
parent 673023d921
commit 591c7ff94c
2 changed files with 209 additions and 128 deletions
+4 -5
View File
@@ -39,7 +39,7 @@
<artifactId>javafx-controls</artifactId>
<classifier>win</classifier>
</dependency>
<!-- JavaFX-Swing-Interop für PDFView (AWT-Bridge, Rendering) -->
<!-- JavaFX-Swing-Interop: wird für SwingFXUtils.toFXImage (BufferedImage -> FX Image) benötigt -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
@@ -47,11 +47,10 @@
<classifier>win</classifier>
</dependency>
<!-- PDF-Vorschau: PDFView-Control für die integrierte Dokumentvorschau -->
<!-- PDF-Vorschau: PDFBox für direktes Rendering einzelner Seiten in BufferedImages -->
<dependency>
<groupId>com.dlsc.pdfviewfx</groupId>
<artifactId>pdfviewfx</artifactId>
<version>3.3.2</version>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
</dependency>
<!-- JBIG2-Codec für PDF-Bilddecodierung -->
<dependency>