Adaptation of the original PdfViewer app to work as a library (fork of
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hardcore Sushi 8fe8b2f4b3
libpdfviewer: update to PdfViewer 13
3 months ago
.github Bump actions/checkout from 2 to 3 4 months ago
app libpdfviewer: update to PdfViewer 13 3 months ago
gradle/wrapper Update gradle to 7.4.1 3 months ago
.gitignore use Gradle Kotlin DSL 7 months ago
.gitmodules libpdfviewer: Genesis 4 months ago
LICENSE update copyright notice 5 months ago
PDFJS_LICENSE initial commit with overhauled / rebranded project 3 years ago add README based on release notes 2 years ago
build.gradle.kts Bump gradle from 7.1.1 to 7.1.2 4 months ago disable obsolete jetifier 7 months ago
gradlew update gradle to 7.2 10 months ago
gradlew.bat update gradle wrapper 2 years ago
settings.gradle.kts use Gradle Kotlin DSL 7 months ago

Simple Android PDF viewer based on pdf.js and content providers. The app doesn't require any permissions. The PDF stream is fed into the sandboxed WebView without giving it access to content or files. Content-Security-Policy is used to enforce that the JavaScript and styling properties within the WebView are entirely static content from the apk assets. It reuses the hardened Chromium rendering stack while only exposing a tiny subset of the attack surface compared to actual web content. The PDF rendering code itself is memory safe with dynamic code evaluation disabled, and even if an attacker did gain code execution by exploiting the underlying web rendering engine, they're within the Chromium renderer sandbox with no access to the network (unlike a browser), files, or other content.