{"id":15069411,"url":"https://github.com/qble2/pdf-viewer-spring-fx-app","last_synced_at":"2026-01-31T13:07:41.465Z","repository":{"id":150726515,"uuid":"592037587","full_name":"qble2/pdf-viewer-spring-fx-app","owner":"qble2","description":"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).","archived":false,"fork":false,"pushed_at":"2023-08-15T18:21:44.000Z","size":288,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T09:14:42.997Z","etag":null,"topics":["css","guava-event-bus","h2-database","hibernate","java","javafx","jpa","lombok","maven","openjdk","pdfbox","scene-builder","spring-boot","spring-data-jpa"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qble2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-22T18:25:51.000Z","updated_at":"2024-09-19T18:21:05.000Z","dependencies_parsed_at":"2023-08-30T07:04:11.370Z","dependency_job_id":null,"html_url":"https://github.com/qble2/pdf-viewer-spring-fx-app","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/qble2/pdf-viewer-spring-fx-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qble2%2Fpdf-viewer-spring-fx-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qble2%2Fpdf-viewer-spring-fx-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qble2%2Fpdf-viewer-spring-fx-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qble2%2Fpdf-viewer-spring-fx-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qble2","download_url":"https://codeload.github.com/qble2/pdf-viewer-spring-fx-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qble2%2Fpdf-viewer-spring-fx-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260590529,"owners_count":23033071,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","guava-event-bus","h2-database","hibernate","java","javafx","jpa","lombok","maven","openjdk","pdfbox","scene-builder","spring-boot","spring-data-jpa"],"created_at":"2024-09-25T01:42:19.364Z","updated_at":"2026-01-31T13:07:41.365Z","avatar_url":"https://github.com/qble2.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e*Disclaimer:* \n\u003e- *This project main purpose was a learning experience to tackle Spring Boot integration with JavaFX.*\n\u003e- *It may contain unpolished, experimental or rushed code that needs to be refactored and modernized.*\n\n# PDF Viewer Spring FX  \n\nA [JavaFX](https://openjfx.io) application that is launched and managed via [Spring Boot](https://spring.io/projects/spring-boot), to utilize Spring features.  \nThis application aims at easing the manipulatation of large PDF files (browse, split, filter, search and annotate).\n\n- The graphical interface is composed of several controllers decoupled following the Event-Driven Design.  \n- The templates are created with [Scene Builder](https://gluonhq.com/products/scene-builder).  \n- [Apache PDFBox](https://pdfbox.apache.org) is used to manipulate PDF files.  \n- The project's build is managed by [Maven](https://maven.apache.org).  \n- [Lombok](https://projectlombok.org) is used to reduce boilerplate code.  \n\n## Features:\nThe application allows the user to:\n- Load PDF files from a directory.  \n- Browse loaded PDF files in a flat view or a hierachical view.  \n- Filter PDF files based on the file name, with autocompletion.  \n- Split large PDF files, based on the document's bookmarks (outlines).  \n- Pin PDF files in a second view for later access or for comparaison purposes.  \n- Add personal notes to PDF files.\n- Switch between light and dark mode.  \n\n\n## Built with:\n- Java 17\n- [Spring Boot 2.7.8](https://spring.io/projects/spring-boot)\n- [OpenJFX 19](https://openjfx.io)\n- [JavaFX Scene Builder 19](https://gluonhq.com/products/scene-builder)\n- [Google Guava](https://github.com/google/guava)\n- [Apache PDFBox](https://pdfbox.apache.org)\n- [PDFViewFX](https://github.com/dlsc-software-consulting-gmbh)\n- [Maven](https://maven.apache.org)\n- [Lombok](https://projectlombok.org)\n\n## Screeshot\n\n![pdf-viewer-spring-fx-app-screenshot-1](https://user-images.githubusercontent.com/76587083/220027684-b090360f-fe09-405a-be72-a0a389e27a04.png)  \n\n![pdf-viewer-spring-fx-app-screenshot-2](https://user-images.githubusercontent.com/76587083/220027687-84f4f3e6-6189-42ea-96cc-53d942a2e9f2.png)  \n\n![pdf-viewer-spring-fx-app-screenshot-3](https://user-images.githubusercontent.com/76587083/220027691-6343f108-9790-49a3-8d23-13abe070de1b.png)  \n\n![pdf-viewer-spring-fx-app-screenshot-4](https://user-images.githubusercontent.com/76587083/220027694-abdb7539-dc25-4dfb-aa1e-3f0d372b1f06.png)  \n\n![pdf-viewer-spring-fx-app-screenshot-5](https://user-images.githubusercontent.com/76587083/220028248-b5ffa309-293d-4bcd-9c8a-8c1e837be7bf.png)  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqble2%2Fpdf-viewer-spring-fx-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqble2%2Fpdf-viewer-spring-fx-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqble2%2Fpdf-viewer-spring-fx-app/lists"}