3.7 KiB
Stirling-PDF
This is a locally hosted web application that allows you to perform various operations on PDF files, such as splitting and adding images.
Started off as a 100% ChatGPT made application, slowly moving away from that as more features are added
I will support and fix/add things to this if there is a demand Discord
Features
- Split PDFs into multiple files at specified page numbers or extract all pages as individual files.
- Merge multiple PDFs together into a single resultant file
- Convert PDFs to and from images
- Reorganize PDF pages into different orders.
- Add images to PDFs at specified locations. (WIP)
- Rotating PDFs in 90 degree increments.
- Compressing PDFs to decrease their filesize. (Using OCRMyPDF)
- Add and remove passwords
- Set PDF Permissions
- Add watermark(s)
- Convert Any common file to PDF (using LibreOffice)
- Extract images from PDF
- OCR on PDF (Using OCRMyPDF)
- Edit metadata
- Dark mode support.
- Custom download options (see here for example)
- Parallel file processing and downloads
Technologies used
- Spring Boot + Thymeleaf
- PDFBox
- LibreOffice for advanced conversions
- OcrMyPdf
- HTML, CSS, JavaScript
- Docker
How to use
Locally
Prerequisites
- Java 17 or later
- Gradle 7.0 or later
- Clone or download the repository.
- Build the project using Gradle by running
./gradlew build
- Start the application by running
./gradlew bootRun
or by calling the build jar in build/libs with java -jar jarName.jar
Docker
https://hub.docker.com/r/frooodle/s-pdf
Docker Run
docker run -p 8080:8080 frooodle/s-pdf
Docker Compose
version: '3.3'
services:
s-pdf:
ports:
- '8080:8080'
image: frooodle/s-pdf
Enable OCR/Compression feature
Please view https://github.com/Frooodle/Stirling-PDF/blob/main/HowToUseOCR.md
Want to add your own language?
If you want to add your own language to Stirling-PDF please refer https://github.com/Frooodle/Stirling-PDF/blob/main/HowToAddNewLanguage.md
And please create a PR to merge it back in so others can use it!
Also please note as i add new features i will google translate existing languages so that they dont lose support. This could mean that new features need grammer corrections as added.
How to View
- Open a web browser and navigate to
http://localhost:8080/
- Use the application by following the instructions on the website.
Customize App Name
Stirling PDF allows easy customization of the visible application name. Simply use environment variables APP_HOME_NAME, APP_HOME_DESCRIPTION and APP_NAVBAR_NAME with Docker or Java. If running Java directly, you can also pass these as properties using -D arguments.