How come Android doesn't have a built in PDF viewer?

https://midwest.social/post/14629110

How come Android doesn't have a built in PDF viewer? - midwest.social

Forgive me for this stupid question. I just transitioned from iPhone to Pixel (GrapheneOS) and I’m curious why there isn’t a built in PDF viewer like on iPhone? It feels like you have to open things externally pretty often, but I figure there’s a reason for that. I haven’t used Android in many years and I recently developed an interest for the technical aspects of things, so again, do forgive this beginners question. Cheers y’all!

GrapheneOS actually has a built in PDF reader. Open the “Apps” app if it isn’t installed. Look for “PDF Reader” and make sure its installed.
I think I might be using the wrong terminology, forgive me. What I mean is, in my case, why does the PDF have to open in PDF reader instead of directly in the browser (like on iPhone)? That’s what I mean when I say “opening things externally.”

I think it’s a fundamental design question. Apple wants users to do everything within their ecosystem, so they internalize as many functions as possible, whereas Android was designed to be lightweight and modular. Everything you don’t absolutely need in a browser just clutters it up.

Personally I like the flexibility of using exactly the app I want for functions rather than having my OS enforce a default.

It doesn’t have to, but GrapheneOS is designed around security first, privacy second, and usability third

If you install Fennec browser on it and open, e.g., learningcontainer.com/…/sample-pdf-file-for-testi…

The PDF will display inside Firefox

The default web browser on GrapheneOS, Vanadium, doesn’t parse PDF’s (they’re an incredibly insecure format) and passes them off to a sandboxed, hardened app specifically for that usecase

This allows rejecting more permissions than doing it in the same process

Apple is a bit like Microsoft in that regard. Their browser (safari) is so tightly integrated into their operating system that removing it is basically impossible. Due to that, they can use/abuse it for basic functionality like a pdf reader instead of creating a separate app for it.

Android, on the other hand, doesn’t even have a real default browser. While Chrome ships as the default since android 4, it’s basically just the app tacked on top. Since PDF readers on android existed before Chrome became the default, Google was never really bothered with including a build in PDF reader in their browser. It simply wasn’t necessary. And since most browser depend on chromium, which lacks this functionality, they don’t have it either.

Firefox on Android has the option to open PDFs, so if you want it, that would be an option. It isn’t a limitation of the operating system, Google simply couldn’t be bothered and most others just use copy + past on Chrome.

That makes total sense, now I get it. So all in all, it’s more secure to have separate apps doing the job instead of jamming it all into an ecosystem?
It doesn’t need to be opened with any specific app. Android lets you set default apps for different file types (this is determined by the ending file name characters after the “.”). Since you’re on GrapheneOS, you’re probably privacy-conscience and would be wise to stick with the app included with the OS. This behavior contrasts a user who heads to the Play Store and goes with any PDF reader willy-nilly.
The default app is unusable. There’s literally no scrolling functionality. You have to tap a button to change pages

My Android /e/os, a fork of lineage os, also has a built-in one.

So yeah OP, I guess the question is, why does your phone not have a built-in PDF reader, not why android doesn’t have one :D

I have a built-in “PDF Viewer” app in my GrapheneOS. (app.grapheneos.pdfviewer)
Retail Android ships with Google’s proprietary PDF viewer. GrapheneOS isn’t the default experience.

GrapheneOS has an actively maintained PDF viewer app though.

github.com/GrapheneOS/PdfViewer

GitHub - GrapheneOS/PdfViewer: 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. CSP is used to enforce that the JavaScript and styling properties within the WebView are entirely static.

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...

GitHub
Page scrolling works fine and dark mode doesn’t make sense…
Dark mode really starts to make sense when you’re looking at documents for 7-10 hrs/day almost every other day for a month or two

You really should ask this in

https://lemmy.ml/c/grapheneos.

It’s a very helpful community. Someone will either explain why or point you to a FAQ. I bet it has something to do with the built in reader being insecure.

GrapheneOS [Unofficial] - Lemmy

### Welcome to the GrapheneOS (Unofficial) community This feed is currently only used for announcements and news. Official support available on our forum and matrix chat rooms - Discussion Forums [https://discuss.grapheneos.org] - Discord [https://grapheneos.org/discord] - Matrix Community Space [https://matrix.to/#/#community:grapheneos.org] - #general [https://app.element.io/#/room/%23general:grapheneos.org] - #offtopic [https://app.element.io/#/room/%23offtopic:grapheneos.org] GrapheneOS is a privacy and security focused mobile OS with Android app compatibility. Links - Website [https://grapheneos.org/] - Features overview [https://grapheneos.org/features] More Site links - Install [https://grapheneos.org/install] - Build [https://grapheneos.org/build] - Usage guide [https://grapheneos.org/usage] - FAQ [https://grapheneos.org/faq] - Releases [https://grapheneos.org/releases] - Source code [https://grapheneos.org/source] - History [https://grapheneos.org/history] - Articles [https://grapheneos.org/articles] - Donate [https://grapheneos.org/donate] - Contact [https://grapheneos.org/contact] Social Media - Mastodon [https://grapheneos.social/] - Twitter [https://twitter.com/GrapheneOS] - Twitter Community [https://twitter.com/i/communities/1530455827949273094] - GitHub [https://github.com/grapheneos] - Reddit [https://reddit.com/r/grapheneos] This is a community based around the GrapheneOS projects including the hardened Android Open Source Project fork, Auditor, AttestationServer, the hardened malloc implementation and other projects.

Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn’t work well for people on different instances. Try fixing it like this: [email protected]
Thanks for letting me know! (:
The good news is anyone can grab the GrapheneOS PDF viewer. github.com/GrapheneOS/PdfViewer
GitHub - GrapheneOS/PdfViewer: 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. CSP is used to enforce that the JavaScript and styling properties within the WebView are entirely static.

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...

GitHub
I long for the day PDF can just be replaced by SVG since its basically just vector anyways.

It was a long and expensive battle just to keep “pdf” as “open” (lol) as it already is.

There are a million legacy reasons why Adobe, MS, IBM, Meta, Alphabet, are loathed, but here we are…

And SVG can be quite readable if the text isn’t converted to path.
Pdf has a mind-bogging array of features, which make it so entrenched in the corporate world with no viable replacements at the moment. Things like forms where users can fill them out and submit (surprisingly a popular feature), cryptographic signing to prevent tampering, DRM, etc. Heck, I think you can even add JavaScript code to a pdf.

forms where users can fill them out and submit (surprisingly a popular feature)

How is that surprising?

I’m very interested in your reasons for switching, and I would love to read periodic updates on your experience.
You mean switching from iPhone to GOS? I can return to your comment after a while of using GOS to update you on my experience.
Firefox has a pdf reader if you prefer that
Easier to maintain and update when the reader is an app not part of the core OS.
Yeah but system apps can be updated separately from the main OS on Android, so that doesn’t really apply
Because… Fuck Adobe. This is my near-daily mantra.

AOSP has no default PDF viewer, many GAAPS (official roms, custom roms with full gapps etc.) roms do have a pdf viewer by default.

There are many available PDF viewers around making a good pdf viewer is actually pretty hard, I reccomend just trying a bunch on fdroid and seeing what sticks out to you.

Isn’t your browser already a pdf viewer?
GrapheneOS features overview

Overview of GrapheneOS features differentiating it from the Android Open Source Project (AOSP).

GrapheneOS

You could try their official app play.google.com/store/apps/details?id=com.adobe.r…

while everyone hates it, it does work and has nice UI. Dark theme is my favourite.

Adobe Acrobat Reader: Edit PDF - Apps on Google Play

Sign PDFs on the go. Effortlessly fill in, send & receive files.