PDF Toolkit
A privacy-first, offline PDF utility for Android
📱 Get it on Android
📥 F-Droid Installation & Benefits
PDF Toolkit is published on F-Droid, the repository of free and open-source Android software:
- 100% Free & Open Source: Built using the
fdroidbuild flavor with 0 proprietary dependencies or trackers. - Offline Tesseract OCR Engine: Performs Optical Character Recognition completely on-device without Google Play Services or network connections.
- Reproducible & Verified: Standard F-Droid automated builds compiled from source.
To Install via F-Droid:
- Download the F-Droid Client App.
- Search for
PDF Toolkitor open com.yourname.pdftoolkit on F-Droid. - Tap Install for automatic updates and verified security.
Offline · Privacy-first · No account required
✨ Features
📄 PDF Management
- Merge PDF & Images — Combine multiple PDF files and images (JPG, PNG, WebP) into a single document with File & Page preview modes
- Split PDF — Split into multiple files or specific page ranges
- Compress PDF — Reduce file size while maintaining quality
- Reorder Pages — Visual drag-and-drop page reordering
- Rotate Pages — Rotate specific pages or entire documents
- Extract Pages — Extract specific pages to create new PDFs
- Delete Pages — Remove unwanted pages
🔄 Conversion Tools
- Images to PDF — Create PDFs from gallery images
- PDF to Images — Convert PDF pages to high-quality images (JPG/PNG/WebP)
- HTML to PDF — Direct webpage to PDF conversion
- Scan to PDF — Camera-based document scanning with automatic edge detection
✏️ Editing & Annotation
- Annotate — Highlight, draw, and markup PDFs with custom Canvas layering
- Sign PDF — Add digital signatures to documents
- Fill Forms — Complete PDF forms on the go
- Flatten PDF — Make forms and annotations permanent
🔒 Privacy & Security
- Lock PDF — Password-protect your files
- Unlock PDF — Remove passwords (with valid password)
- Watermark — Add text or image watermarks
- All processing on-device — No cloud, no servers
- No internet permission — Completely offline capable
- No data collection or tracking
🔤 OCR & Text
- Extract Text — Pull text content from PDF pages
- ML Kit OCR — Play Store flavor (on-device, smaller APK)
- Tesseract OCR — F-Droid and opensource flavors (100% open source)
🖼️ Image Tools
- Compress Images — Optimize file sizes
- Resize Images — Change dimensions
- Format Conversion — JPG, PNG, WebP
- Remove Metadata — Strip EXIF data for privacy
🏗️ Build Flavors
| Flavor | OCR Engine | Ads | Firebase | Distribution |
|---|---|---|---|---|
playstore |
ML Kit | No | No | Google Play |
fdroid |
Tesseract | No | No | F-Droid |
opensource |
Tesseract | No | No | GitHub Releases |
All flavors are privacy-first with no ads, no analytics, and no proprietary dependencies except ML Kit in the Play Store flavor.
🛠️ Tech Stack
| Category | Technology |
|---|---|
| Language | Kotlin 100% |
| UI Framework | Jetpack Compose (Material Design 3) |
| Architecture | MVVM + Clean Architecture |
| PDF Processing | PdfBox-Android, Android PdfRenderer |
| Annotations | Custom Canvas + BlendMode layering |
| OCR (Play Store) | Google ML Kit |
| OCR (F-Droid / Opensource) | Tesseract (tesseract4android) |
| Camera | CameraX |
| Images | Coil, Glide, uCrop |
| Database | Room |
| Preferences | DataStore |
| Async | Coroutines & Flow |
| Build | Gradle + KSP |
🚀 Getting Started
Prerequisites
- Android Studio Hedgehog or newer
- JDK 17+
- Android SDK 26+
Build
# Clone the repository
git clone https://github.com/Karna14314/Pdf_Tools.git
cd Pdf_Tools
# Play Store flavor (ML Kit OCR)
./gradlew assemblePlaystoreRelease
# F-Droid flavor (Tesseract OCR, no proprietary deps)
./gradlew assembleFdroidRelease
# Opensource flavor (fully FOSS)
./gradlew assembleOpensourceRelease
📦 Download
| Platform | Link | Notes |
|---|---|---|
| F-Droid | Get on F-Droid | 100% FOSS, auto-updates |
| Google Play | Install | Play Store variant, auto-updates |
| GitHub Releases | Download APK | Opensource flavor, manual install |
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request against
master
Important: The F-Droid and opensource flavors must remain free of proprietary dependencies. Any new dependencies must be compatible with the F-Droid inclusion policy.
See open issues for feature requests and bug reports.
👤 Maintainer
Narisetti Chaitanya Naidu
GitHub: @Karna14314
📄 License
Copyright © 2026 Narisetti Chaitanya Naidu
Licensed under the Apache License, Version 2.0
See LICENSE for full text.