PDF Toolkit

PDF Toolkit

A privacy-first, offline PDF utility for Android

Play Store License GitHub Stars GitHub Forks GitHub Watchers GitHub Issues Latest Release Platform Last Commit oosmetrics

--- ## ๐Ÿ“ฑ Get it on Android

Get it on Google Play

> Offline ยท Privacy-first ยท No account required --- ## โœจ Features ### ๐Ÿ“„ PDF Management - **Merge PDFs** โ€” Combine multiple PDF files into a single document - **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 (pending) | | `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 ```bash # 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 | |----------|------|-------| | Google Play | [Install](https://play.google.com/store/apps/details?id=com.yourname.pdftoolkit) | Stable, auto-updates | | GitHub Releases | [Download APK](https://github.com/Karna14314/Pdf_Tools/releases) | Opensource flavor, manual install | | F-Droid | Coming soon | Under review | --- ## ๐Ÿค Contributing Contributions are welcome! Please feel free to submit a Pull Request. 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'feat: add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. 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](https://github.com/Karna14314/Pdf_Tools/issues) for feature requests and bug reports. --- ## ๐Ÿ‘ค Maintainer **Narisetti Chaitanya Naidu** GitHub: [@Karna14314](https://github.com/Karna14314) --- ## ๐Ÿ“„ License Copyright ยฉ 2026 Narisetti Chaitanya Naidu Licensed under the Apache License, Version 2.0 See [LICENSE](LICENSE) for full text.