Adaptation of the original PdfViewer app to work as a library (fork of https://github.com/GrapheneOS/PdfViewer)
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 6e8fdb56a5
libpdfviewer: update to PdfViewer 16
2 months ago
.github update to JDK 19 5 months ago
app libpdfviewer: update to PdfViewer 16 2 months ago
gradle/wrapper update Gradle to 7.5.1 8 months ago
.gitignore use Gradle Kotlin DSL 1 year ago
.gitmodules libpdfviewer: Genesis 1 year ago
LICENSE update copyright notice 1 year ago
PDFJS_LICENSE initial commit with overhauled / rebranded project 4 years ago
README.md add README based on release notes 3 years ago
build.gradle.kts Bump kotlin-gradle-plugin from 1.7.21 to 1.7.22 4 months ago
gradle.properties disable obsolete jetifier 1 year ago
gradlew update Gradle to 7.5 8 months ago
gradlew.bat update Gradle to 7.5 8 months ago
settings.gradle.kts use Gradle Kotlin DSL 1 year ago

README.md

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.