PDFbox is a professional-grade, lightweight, and powerful PDF editor for Android. Built with a focus on simplicity and efficiency, it provides a comprehensive suite of tools to manage, modify, and secure your PDF documents on the go.
- ⛓️ Merge PDFs: Effortlessly combine multiple PDF files into a single document with drag-and-drop reordering.
- ✂️ Split PDFs: Extract specific pages or split a large PDF into custom ranges (e.g., 1-3, 5-8).
- 🗜️ Compress PDFs: Reduce file size with adjustable optimization levels (Low, Medium, High).
- 🔄 Rotate Pages: Fix orientation issues by rotating individual pages or the entire document.
- 🔒 Secure & Unlock: Protect sensitive docs with 128-bit encryption or remove passwords from protected files.
- 🖼️ PDF to Image: High-quality conversion of PDF pages to PNG or JPG formats.
- 📄 Text Extraction: Instantly extract and copy selectable text content from any PDF.
- 📁 Recent Files: Quick access to your recently edited documents via a smart Room database.
- 🔍 Global Search: Find any document by name instantly with our optimized search bar.
- 🌓 Dark Mode: Full support for system-wide light and dark themes for a premium experience.
PDFbox is built using modern Android development best practices and high-performance libraries:
- Language: Kotlin & Java (Multi-paradigm approach)
- UI Framework: XML with View Binding (High-performance Material 3 layouts)
- Design System: Material Design 3 (Clean, Flat, and Modern B&W aesthetic)
- PDF Engine:
- PDFBox-Android for robust core PDF manipulation.
- AndroidPdfViewer for high-speed document rendering.
- Database: Room Persistence Library for local history management.
- Concurrency: Kotlin Coroutines for non-blocking background operations.
- Architecture: MVVM (Model-View-ViewModel) for clean separation of concerns.
- Android Studio Koala | 2024.1.1 or newer
- JDK 17
- Android SDK 36 (Compile SDK)
- Minimum SDK: API 24 (Android 7.0)
- Clone the repository:
git clone https://github.com/shejanahmmed/PDFbox.git
- Open in Android Studio:
- Go to
File -> Openand select the cloned directory.
- Go to
- Build the project:
- Wait for Gradle sync to complete and press the
Runbutton.
- Wait for Gradle sync to complete and press the
Farjan Ahmmed (Shejan) Software Engineering Student at Daffodil International University
- 📧 Email: farjan.swe@gmail.com
- 🔗 LinkedIn: Farjan Ahmmed
- 🐙 GitHub: @shejanahmmed
- 🌐 Socials: Facebook | Instagram
📍 Dhaka, Bangladesh
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for the Android Community