Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

1,298 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lumina PDF Logo

Lumina PDF

The Ultimate Privacy-First, Open-Core PDF Management and Automation Platform

GitHub stars License PRs Welcome


Lumina PDF is a premium, enterprise-grade, open-core PDF platform designed for complete data sovereignty and seamless document workflow orchestration. Run it as a highly responsive cross-platform desktop application, access it in the browser as a stateful modern React SPA, or deploy it on on-premise infrastructure as a highly scalable containerized service with an extensive private REST API.

Unlike cloud-based services, Lumina PDF performs document processing 100% locally or within your controlled infrastructure. There are no tracking scripts, no external analytics, and no remote document uploads.


🌟 Key Capabilities

πŸ–₯️ Everywhere You Work

  • Desktop App (Tauri + Rust): Completely local, lightning-fast native experience with system JRE bundling, low memory footprints, and native PDF file association.
  • Modern Web UI: A stunning, stateful React 18 Single Page Application styled with Mantine UI and TailwindCSS, boasting a rich dark mode, sleek micro-animations, and fluid transitions.
  • Server Deployments: Optimized Spring Boot container images running on Java 21+ (Java 25 recommended), fully ready for deployment on GCP, AWS, Azure, or bare-metal Kubernetes.

πŸ› οΈ Stateful Multi-Tool Workflows

  • Chain Operations: Upload a PDF once and seamlessly pass it between tools (e.g., Split βž” OCR βž” Compress βž” Sign) without losing context or reloading documents.
  • 100GB+ Document Handling: Engineered with advanced memory management, client-side IndexedDB caching, Web Worker thumbnails, and explicit memory resource release to process massive PDF workloads in the browser without crashes.

πŸ€– Intelligent AI Engine

  • AI reasoning service: Built with FastAPI, Pydantic, and pydantic-ai to plan, reason, and interpret complex document tasks securely and locally.
  • Structured Outputs: Native support for LLM-driven structured extraction, document understanding, and delegate tool orchestration.

πŸ”’ Enterprise Security & Compliance

  • Security Mode: Enabled via DOCKER_ENABLE_SECURITY=true. Features multi-tenant logins, role-based access controls (RBAC), secure auditing logs, and single sign-on (SSO).
  • Data Sovereignty: Built from the ground up for strict data protection compliance, fully air-gapped environment compatible.

πŸ—ΊοΈ System Architecture

Lumina PDF uses a clean, modern three-tier architecture separating presentation, heavy processing, and logical reasoning:

graph TD
 subgraph Client Layer
 Desktop["Tauri Desktop App (Rust + JRE)"]
 Browser["React 18 SPA (Mantine + Tailwind)"]
 end
 subgraph Service Proxy
 Backend["Spring Boot API Gateway (Java 21/25)"]
 end
 subgraph Core Processing Engines
 PDFBox["Apache PDFBox (Core Operations)"]
 LibreOffice["LibreOffice (Conversions)"]
 qpdf["qpdf (PDF Optimization)"]
 AIEngine["Python AI Engine (FastAPI + Pydantic-AI)"]
 end
 Client Layer -->|REST APIs / JSON| Backend
 Backend --> PDFBox
 Backend --> LibreOffice
 Backend --> qpdf
 Backend -->|Typed Contracts| AIEngine
Loading

πŸ’Ό Over 50+ Specialized PDF Tools

Lumina PDF houses a comprehensive suite of PDF tools, organized into intuitive categories:

Category Tools Included
Page Operations Split Pages, Merge Files, Rotate Pages, Reorganize / Reorder, Crop, Delete Pages
Conversion PDF to Word, PDF to Excel, PDF to Image, HTML to PDF, Word/Excel to PDF, Markdown to PDF, Image to PDF
Security & Signing Digital Signatures, Secure Redaction, Flatten Fields, Encrypt (Add Password), Decrypt (Remove Password)
Quality & Optimization Advanced Compression, PDF Repair, Repair Line Art, Flatten Layers, OCR (Optical Character Recognition)
Workflows & Pipelines Custom Pipelines, Multi-file Batch Processing, Template Auto-fill, Automated Watermarking

πŸš€ Quick Start (Docker)

Launch the full-featured, local Lumina PDF server with a single command:

docker run -d -p 8080:8080 --name lumina-pdf ghcr.io/bennerdoo/luminapdf:latest

Once running, navigate to http://localhost:8080 in your web browser.


πŸ”’ Enabling Security & User Management

To enable enterprise user logins, role-based security, and access logs, deploy using the following Docker Compose configuration:

version: '3.8'
services:
 lumina-pdf:
 container_name: lumina-pdf-secure
 image: ghcr.io/bennerdoo/luminapdf:latest
 ports:
 - "8080:8080"
 environment:
 - DISABLE_ADDITIONAL_FEATURES=false
 - SECURITY_ENABLELOGIN=true
 - SYSTEM_DEFAULTLOCALE=en-GB
 - UI_APPNAME=Lumina PDF
 - SYSTEM_MAXFILESIZE=100
 volumes:
 - ./lumina/config:/configs:rw
 - ./lumina/logs:/logs:rw
 - ./lumina/tessdata:/usr/share/tessdata:rw
 restart: always

πŸ“¦ Docker Build Variants

We provide three distinct Docker builds tailored for different environment requirements:

  • Ultra-Lite (Dockerfile.ultra-lite): A highly stripped-down image containing only core PDFBox operations. Ideal for resource-constrained setups and microservice architectures.
  • Standard (Dockerfile): The recommended image. Contains the Spring Boot core, Mantine frontend, qpdf, and standard system tools.
  • Fat (Dockerfile.fat): Includes all of the above, plus pre-downloaded offline models (e.g., Tesseract OCR languages), heavy fonts, LibreOffice, and full offline dependencies for total air-gapped capability.

πŸ’» Local Development

Lumina PDF uses Task as a unified command runner. Install Task, then use the following commands to speed up your local development.

πŸ› οΈ Environment Setup & Quick Start

  1. Install All Dependencies:
    task install
  2. Launch the Full Stack (Frontend + Backend + AI Engine):
    task dev:all
    • Frontend Dev Server: http://localhost:5173
    • Backend API: http://localhost:8080
    • AI Engine: http://localhost:5001

πŸ’» Component-Specific Development

  • Spring Boot Backend:
    • Start in dev mode: task backend:dev
    • Format code: task backend:format (Google Java Format)
  • React Frontend:
    • Start Vite: task frontend:dev
    • Install frontend packages: task frontend:install
  • Python AI Engine:
    • Start FastAPI engine: task engine:dev
    • Run static analysis & checks: task engine:check
  • Tauri Desktop App:
    • Launch desktop developer window: task desktop:dev
    • Build production desktop package: task desktop:build

πŸ§ͺ Testing & Quality Gates

Ensure all components are strictly validated before making Pull Requests:

# Run backend, frontend, and engine tests in parallel
task test
# Full quality gate (Linter + TypeScript validation + Test suite)
task check
# Comprehensive integration test (Builds all Docker variants & executes Cucumber)
./test.sh

🌐 Internationalization (i18n)

Lumina PDF is fully localized into over 40+ languages.

  • Rule: All translation updates must be made in en-GB first (located in frontend/public/locales/en-GB/translation.toml).
  • Translations are converted to JSON and loaded dynamically by the React SPA.
  • Refer to the Language Guide for more details.

🀝 Contributing

We love contributions! Please make sure to read our Developer Guide and Contributing Guidelines before writing code.

Key References


πŸ“„ License

Lumina PDF is open-core. See the LICENSE file for details.

About

pdf editor and manager

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /