Show HN: I built a free alternative to Adobe Acrobat PDF viewer

bobsingor | 350 points

Note that actual hard work here seems is done by PDFium, which is what Google bought from Foxit and then relicenced (and keep developing themselves), and which is now in Chrome.

(I don't take from your work btw, just that it's not a new PDF parser written from scratch or anything.)

karel-3d | 2 days ago

I'm curious to know why you built this when the Mozilla PDF viewer exists:

https://github.com/mozilla/pdf.js

Not criticizing because there's lots of reason to build things that exist, just curious.

wewewedxfgdf | 3 days ago

Very nice! I once had a side project with a built-in PDF viewer. My first version used pdf.js, but when zooming in quickly, it felt sluggish and hard to keep the zoom focus in the right place.

So I built my own PDF viewer, this time using pdfium in C++ with Metal for rendering — here’s a quick demo: https://youtu.be/jJMhVn5yzEI

I implemented a tiling technique to balance memory usage and performance. I didn’t realize pdfium could be so performant in WebAssembly — and honestly, I actually prefer developing UI on the web compared to C++.

billconan | 3 days ago

Gave it a quick try. Annotations didn't work at all in Fierfox, but all annotation types (underline, highlight, etc.) worked as expected in Chrome.

gurjeet | 3 days ago

We use pdf.js, a bunch of problems I encountered when testing and comparing (17 MB, 158 pages, many images, Windows):

* Links don’t work

* Bookmarks show up but don’t work either

* Text selection doesn’t work in FF

* Middle-clicking (to scroll) in Chrome triggers text selection

* Very slow rendering, when I scroll in pdf.js, everything looks fine. When I scroll in this, everything looks low quality and blurry for ~500-1000ms. Worse for jumping multiple pages at once, e.g. using "end", I get a white page instead of a low quality page.

* Up/Down, Page Up/Down, Home/End don’t work in FF (left/right does work)

Semaphor | 2 days ago

Nice work! The composable design is really better than something like viewer mode or annotation mode

yukukotani | 6 hours ago

Looks great! Diving into the docs I especially liked the idea of a headless React library so I can design my own UI and add some extra components. How difficult would it be to automatically highlight or underline certain terms in the PDF and then render a custom component when I click or hover over the term?

timhigins | 3 days ago

Unfortunately, the Demo doesn't seem to work with my combination of Linux + Firefox. I cannot get any of the annotation/redaction tools to work.

It seems to work with Chromium on the same machine.

fransje26 | 2 days ago

Seems to work great!

Little note: when you switch from redaction to view with the redaction tool (red lines) active it stays active in the view mode. Impossible to scroll because it still redacts.

Refresh fixes it.

lucfranken | 3 days ago

This looks really impressive! I'm curious about the monetization strategy - how do you plan to sustain development of such a feature-rich PDF viewer while keeping it free? Are you considering enterprise features, hosting services, or other revenue streams?

zastai0day | 2 days ago

This is amazing. Unlike Acrobat Reader, this actually made me want to read a pdf. And the UI looks super professional.

batmya | 3 days ago

Does it support editing the embedded outline (annotations)?

Probably the number one missing feature of PDF editors/viewers. Miss it everytime someone sends me a PDF without outline.

sureglymop | 2 days ago

This is really great. The speed is great, and I've had issues with Mozilla PDF viewer recently. (Printing fails for some unknown reason.)

But I assumed it was also a standalone app? Could this be used as a standalone app in some fashion?

system7rocks | 2 days ago

The repo appears to contain a copy of Foxit’s/Google’s pdfium along with a UI and lots of abstraction layers/examples for various JavaScript frameworks.

I’m not a JavaScript developer (perhaps there are cultural differences at play?), but in general I think it would be polite to credit the developers of the actual PDF engine.

lysace | 3 days ago

Requiring a whatng cartel web engine? Then, nothing to be proud of, mate.

But that's a bravery to deal with the brain damaged PDF file format.

sylware | 2 days ago

Thank you for sharing and being so generous with the licensing. I know this might be way out of scope, but do you have any plans for a "flipbook" visualization?

slig | 3 days ago

I tried a random PDF that includes an annotation, but the annotation didn't show up. I assume the annotations this supports are no real annotations?

looperhacks | 3 days ago

Seems to work pretty well on Firefox for Android. Very impressive work!

ajot | 2 days ago

Is selecting text in the PDF supported? I can’t get that to work in iOS Safari.

ephimetheus | 2 days ago

Very nice! Thanks for sharing. How long are you working on that ?

NooZ | 3 days ago

Great project.

Would be wonderful to have PKCS#11 and PKCS#12.

sqrj | 2 days ago

MIT license is generous. Good for you, and thanks!

gorgoiler | 3 days ago

The mobile site works well. Quite fast and snappy

typpilol | 3 days ago

If you want traction, I suggest you package a .dmg file for Mac users.

simonebrunozzi | 2 days ago

Nitpick, but Viewer is free and always has been. You're building a free alternative to Acrobat.

stronglikedan | 3 days ago

[dead]

xyz_suspended | 2 days ago

[dead]

bestspharma | 2 days ago

[flagged]

thyristan | 3 days ago

> Show HN: I built a free alternative to Adobe Acrobat PDF viewer

It needs a web browser so no alternative to Adobe PDF viewer.

hulitu | 2 days ago

the best solution is simply to not use PDF.

lerp-io | 3 days ago

I’d much rather recommend <https://pdfreaders.org/>, so people can choose depending on their situation. Does this project belong there, too?

teddyh | 2 days ago