frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

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

https://github.com/embedpdf/embed-pdf-viewer
79•bobsingor•4h ago
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!

Comments

billconan•4h 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++.

bobsingor•3h ago
Honestly, yours looks even snappier than what I had, the way it’s handling zoom feels super fluid. Really impressive work! Makes me want to dig back in and see if I can match that speed.
billconan•1h ago
Thank you! Smooth zooming was the main thing I focused on optimizing. I haven’t implemented text search yet, that’s a whole other rabbit hole, with challenges like stitching text objects together and handling text normalization.

My code runs natively, so users need to download a client and I have to code the rest of the ui in cpp, that’s the downside. I did consider a hybrid approach with Electron or Tauri, but dropped the idea to avoid IPC overhead and get the best possible performance.

lucfranken•2h 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.

bobsingor•59m ago
Good catch, I’ll fix that. On mobile, it’s intentional that scrolling is disabled while in redaction mode so you can make precise selections, but if you switch back to the view tab it should definitely exit redaction mode. Thanks for spotting it!
lysace•2h 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.

davorak•1h ago
The repo is marked with the pdfjs and pdfium topics so there is that.

Beyond that, powered by... and similar make sense if the library/engine allows or encourages the behavior.

bobsingor•1h ago
Absolutely, and I agree, credit is important. I have a whole section in the docs about PDFium and its origins with Foxit/Google: https://www.embedpdf.com/docs/pdfium/introduction.
lysace•45m ago
That’s neat.

I would also mention it in the README.md.

looperhacks•2h 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?
bobsingor•1h ago
We already support quite a few real PDF annotations: circle, square, polygon, polyline, highlight, underline, squiggly, strikeout,free text, stamps, and ink. Some types are still on our list, like links, form fields, sound annotations, file attachments, and 3D models. Do you happen to know what annotation type it is in your PDF? I’m curious.
gurjeet•1h 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.
bobsingor•58m ago
I haven’t had the chance to test annotations in Firefox yet, so thanks for pointing that out. I’ll check what’s going on there, good to know they’re working fine in Chrome.
gorgoiler•1h ago
MIT license is generous. Good for you, and thanks!
bobsingor•53m ago
Thanks! I wanted to make it as easy as possible for people to use, tweak, and build on top of it, so MIT felt like the right choice.
layer8•37m ago
The underlying PDFium is Apache 2.0 though, and it looks to me that the present project doesn’t currently comply with https://www.apache.org/licenses/LICENSE-2.0#redistribution for that dependency.
slig•31m 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?
thyristan•26m ago
Nice project.

But please change the logo, looks like a swastika.

Gemma 3 270M: Compact model for hyper-efficient AI

https://developers.googleblog.com/en/introducing-gemma-3-270m/
314•meetpateltech•3h ago•131 comments

Blood oxygen monitoring returning to Apple Watch in the US

https://www.apple.com/newsroom/2025/08/an-update-on-blood-oxygen-for-apple-watch-in-the-us/
262•thm•6h ago•176 comments

Org-social is a decentralized social network that runs on Org Mode

https://github.com/tanrax/org-social
34•tanrax•1d ago•26 comments

New protein therapy shows promise as antidote for carbon monoxide poisoning

https://www.medschool.umaryland.edu/news/2025/new-protein-therapy-shows-promise-as-first-ever-antidote-for-carbon-monoxide-poisoning.html
180•breve•7h ago•42 comments

Architecting large software projects [video]

https://www.youtube.com/watch?v=sSpULGNHyoI
38•jackdoe•2d ago•8 comments

What's the strongest AI model you can train on a laptop in five minutes?

https://www.seangoedecke.com/model-on-a-mbp/
407•ingve•2d ago•151 comments

All Souls exam questions and the limits of machine reasoning

https://resobscura.substack.com/p/all-souls-exam-questions-and-the
12•benbreen•23h ago•1 comments

I Made a Realtime C/C++ Build Visualizer

https://danielchasehooper.com/posts/syscall-build-snooping/
68•dhooper•3h ago•24 comments

Launch HN: Cyberdesk (YC S25) – Automate Windows legacy desktop apps

37•mahmoud-almadi•4h ago•25 comments

Reverse Proxy Deep Dive: Why Load Balancing at Scale Is Hard

https://startwithawhy.com/reverseproxy/2025/08/08/ReverseProxy-Deep-Dive-Part4.html
12•miggy•3d ago•1 comments

Steve Wozniak: 'I am the happiest person ever' and 'I never sold out'

https://yro.slashdot.org/comments.pl?sid=23765914&cid=65583466
150•MilnerRoute•1h ago•90 comments

Axle (YC S22) is hiring product engineers

https://www.ycombinator.com/companies/axle/jobs/8wAy0QH-product-engineer
1•niharparikh•2h ago

"Privacy preserving age verification" is bullshit

https://pluralistic.net/2025/08/14/bellovin/
93•Refreeze5224•2h ago•36 comments

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

https://github.com/embedpdf/embed-pdf-viewer
79•bobsingor•4h ago•18 comments

1976 Soviet edition of 'The Hobbit' (2015)

https://mashable.com/archive/soviet-hobbit
208•us-merul•3d ago•65 comments

How to rig elections [video]

https://media.ccc.de/v/why2025-218-how-to-rig-elections
10•todsacerdoti•7h ago•0 comments

Show HN: OWhisper – Ollama for realtime speech-to-text

https://docs.hyprnote.com/owhisper/what-is-this
21•yujonglee•4h ago•5 comments

Jujutsu and Radicle

https://radicle.xyz/2025/08/14/jujutsu-with-radicle
106•vinnyhaps•5h ago•58 comments

Show HN: Modelence – Supabase for MongoDB

https://github.com/modelence/modelence
22•artahian•3h ago•4 comments

What are the real numbers, really? (2024)

https://www.infinitelymore.xyz/p/what-are-the-real-numbers-really
12•EthanHeilman•1h ago•1 comments

Why and how to write things on the Internet (2022)

https://www.benkuhn.net/writing/
3•jger15•2d ago•1 comments

500 Days of Math

https://gmays.com/500-days-of-math/
127•gmays•2d ago•77 comments

Nyxt: The Emacs-like web browser

https://lwn.net/Articles/1001773/
98•signa11•3d ago•23 comments

What does Palantir actually do?

https://www.wired.com/story/palantir-what-the-company-does/
87•mudil•20h ago•62 comments

NSF and Nvidia award Ai2 $152M to support building an open AI ecosystem

https://allenai.org/blog/nsf-nvidia
138•_delirium•6h ago•72 comments

Kodak has no plans to cease, go out of business, or file for bankruptcy

https://www.kodak.com/en/company/blog-post/statement-regarding-misleading-media-reports/
253•whicks•4h ago•117 comments

iPhone DevOps (2023)

https://clearsky.dev/blog/iphone-devops-ssh/
123•ustad•11h ago•115 comments

Show HN: Zig-DbC – A design by contract library for Zig

32•habedi0•2d ago•2 comments

SIMD Binary Heap Operations

http://0x80.pl/notesen/2025-01-18-simd-heap.html
48•ryandotsmith•2d ago•12 comments

Arch shares its wiki strategy with Debian

https://lwn.net/SubscriberLink/1032604/73596e0c3ed1945a/
313•lemper•10h ago•108 comments