A KISS (Keep It Simple Stupid) Android PDF viewer with basics feature
- Kotlin 100%
| app | ||
| gradle/wrapper | ||
| .gitignore | ||
| build.gradle.kts | ||
| CLAUDE.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| PLAN.md | ||
| README.md | ||
| settings.gradle.kts | ||
KissPDF
A KISS (Keep It Simple Stupid) Android PDF viewer with basics feature
Features
- Open PDF — pick any PDF from device storage via the system file picker
- Scroll — vertical scroll through all pages
- Pinch to zoom — zoom in/out per page; re-renders at higher resolution after zoom settles
- Go to page — toolbar button jumps instantly to any page number
- Bookmarks — add a named bookmark to any page; persisted across sessions
- Tap a bookmark to navigate to it
- Edit or delete bookmarks from the bookmarks list
- Last document — reopens the last viewed PDF on launch
- French localisation — full UI translation when device language is set to French
Tech stack
| Concern | Library |
|---|---|
| PDF rendering | PdfiumAndroid (PDFium engine) |
| UI | RecyclerView + ViewBinding |
| Bookmarks storage | Room (SQLite) |
| Async | Kotlin Coroutines |
| Build | KSP, AGP 8.2.2, Kotlin 1.9.22 |
Requirements
- Android 5.0+ (API 21)
- Android Studio Hedgehog or later
Build
git clone <repo>
cd pdf-viewer
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
Licence
Copyright (c) 2026 Ivan Kanis — 3-clause BSD