Show HN: I built a free alternative to Adobe Acrobat PDF viewer (github.com)
I built EmbedPDF: an MIT-licensed, open-source PDF viewer that aims to match all of Adobe Acrobat’s paid features… for free.
Already working:
- Annotations (highlight, sticky notes, free text, ink)
- True redaction (content actually removed)
- Search, text selection, zoom, rotation
- Runs fully in the browser, no server needed
- Drop-in SDK for React, Vue, Preact, vanilla JS
Why? Acrobat is heavy, closed, and pricey. I wanted something lightweight, hackable, and embeddable anywhere.
Demo: https://app.embedpdf.com/ Website: https://www.embedpdf.com/ GitHub: https://github.com/embedpdf/embed-pdf-viewer
Feedback, bug reports, and feature requests welcome!
33 comments
[ 5.3 ms ] story [ 54.2 ms ] threadSo 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++.
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.
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.
https://github.com/mozilla/pdf.js
Not criticizing because there's lots of reason to build things that exist, just curious.
Would be wonderful to have PKCS#11 and PKCS#12.
But I assumed it was also a standalone app? Could this be used as a standalone app in some fashion?
* 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)
But that's a bravery to deal with the brain damaged PDF file format.
It seems to work with Chromium on the same machine.
(I don't take from your work btw, just that it's not a new PDF parser written from scratch or anything.)