Re:Show HN: I built a free alternative to Adobe Acrobat PDF ...
by bobsingor on Thursday August 14, 2025 @12:42PM
(#44902598)
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.
Re:Show HN: I built a free alternative to Adobe Acrobat PDF ...
by billconan on Thursday August 14, 2025 @01:50PM
(#44903450)
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.
Re:Show HN: I built a free alternative to Adobe Acrobat PDF ...
by dotancohen on Friday August 15, 2025 @06:23AM
(#44910594)
But what it's worth, I as a user prefer native code with no Electron.
Re:Show HN: I built a free alternative to Adobe Acrobat PDF ...
by billconan on Friday August 15, 2025 @11:24AM
(#44913553)
But it will be more difficult for me to support multiple platforms, do customizations on the ui etc.
For example, I don't even own a windows pc.
Re:Show HN: I built a free alternative to Adobe Acrobat PDF ...
by dotancohen on Friday August 15, 2025 @12:23PM
(#44914291)
I don't own a Windows PC either.
From what I understand there are two good FOSS PDF applications for Windows. The platform that is in need of a good PDF application, where you'll acquire users, isn't Windows.
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++.