Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qble2/pdf-viewer-spring-fx-app
A JavaFX application that is launched and managed via Spring Boot. This application aims at easing the manipulatation of large PDF files (browse, split, filter, search and annotate).
https://github.com/qble2/pdf-viewer-spring-fx-app
css guava-event-bus h2-database hibernate java javafx jpa lombok maven openjdk pdfbox scene-builder spring-boot spring-data-jpa
Last synced: about 1 month ago
JSON representation
A JavaFX application that is launched and managed via Spring Boot. This application aims at easing the manipulatation of large PDF files (browse, split, filter, search and annotate).
- Host: GitHub
- URL: https://github.com/qble2/pdf-viewer-spring-fx-app
- Owner: qble2
- Created: 2023-01-22T18:25:51.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-15T18:21:44.000Z (over 1 year ago)
- Last Synced: 2024-10-14T04:21:13.988Z (3 months ago)
- Topics: css, guava-event-bus, h2-database, hibernate, java, javafx, jpa, lombok, maven, openjdk, pdfbox, scene-builder, spring-boot, spring-data-jpa
- Language: Java
- Homepage:
- Size: 281 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
>*Disclaimer:*
>- *This project main purpose was a learning experience to tackle Spring Boot integration with JavaFX.*
>- *It may contain unpolished, experimental or rushed code that needs to be refactored and modernized.*# PDF Viewer Spring FX
A [JavaFX](https://openjfx.io) application that is launched and managed via [Spring Boot](https://spring.io/projects/spring-boot), to utilize Spring features.
This application aims at easing the manipulatation of large PDF files (browse, split, filter, search and annotate).- The graphical interface is composed of several controllers decoupled following the Event-Driven Design.
- The templates are created with [Scene Builder](https://gluonhq.com/products/scene-builder).
- [Apache PDFBox](https://pdfbox.apache.org) is used to manipulate PDF files.
- The project's build is managed by [Maven](https://maven.apache.org).
- [Lombok](https://projectlombok.org) is used to reduce boilerplate code.## Features:
The application allows the user to:
- Load PDF files from a directory.
- Browse loaded PDF files in a flat view or a hierachical view.
- Filter PDF files based on the file name, with autocompletion.
- Split large PDF files, based on the document's bookmarks (outlines).
- Pin PDF files in a second view for later access or for comparaison purposes.
- Add personal notes to PDF files.
- Switch between light and dark mode.## Built with:
- Java 17
- [Spring Boot 2.7.8](https://spring.io/projects/spring-boot)
- [OpenJFX 19](https://openjfx.io)
- [JavaFX Scene Builder 19](https://gluonhq.com/products/scene-builder)
- [Google Guava](https://github.com/google/guava)
- [Apache PDFBox](https://pdfbox.apache.org)
- [PDFViewFX](https://github.com/dlsc-software-consulting-gmbh)
- [Maven](https://maven.apache.org)
- [Lombok](https://projectlombok.org)## Screeshot
![pdf-viewer-spring-fx-app-screenshot-1](https://user-images.githubusercontent.com/76587083/220027684-b090360f-fe09-405a-be72-a0a389e27a04.png)
![pdf-viewer-spring-fx-app-screenshot-2](https://user-images.githubusercontent.com/76587083/220027687-84f4f3e6-6189-42ea-96cc-53d942a2e9f2.png)
![pdf-viewer-spring-fx-app-screenshot-3](https://user-images.githubusercontent.com/76587083/220027691-6343f108-9790-49a3-8d23-13abe070de1b.png)
![pdf-viewer-spring-fx-app-screenshot-4](https://user-images.githubusercontent.com/76587083/220027694-abdb7539-dc25-4dfb-aa1e-3f0d372b1f06.png)
![pdf-viewer-spring-fx-app-screenshot-5](https://user-images.githubusercontent.com/76587083/220028248-b5ffa309-293d-4bcd-9c8a-8c1e837be7bf.png)