TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: PDF Assembler – client-side PDF editing

25 pointsby dschnelldavisabout 7 years ago
Here&#x27;s a neat hack I made recently to do basic PDF editing directly in a browser—without having to upload anything to a server.<p>I was initially looking for a way to do simple PDF modification (extracting pages, merging, and adding page numbers). There are some good server-side tools for this (QPDF, PDFTk, PDFBox, iText, Hummus), but for better speed and privacy I really wanted a 100% client-side solution.<p>There are a few good JavaScript PDF libraries for reading and displaying PDFs (pdf.js) and creating PDFs from scratch (jsPDF, PDFKit), but I couldn&#x27;t find any for editing existing PDFs. So, I did what any self-respecting hacker would do, and rolled my own. :-)<p>Actually, I found out that Mozilla&#x27;s pdf.js solved half the problem, as it does an excellent job disassembling PDF files. So all I had to do was figure out a way to put them back together again.<p>The result is PDF Assembler, now available on GitHub and NPM. I also put together a demonstration site (<a href="https:&#x2F;&#x2F;www.pdfcircus.com" rel="nofollow">https:&#x2F;&#x2F;www.pdfcircus.com</a>) which shows some examples of what it can do. I know PDF Assembler still needs some tweaking, but I think the basic idea is sound, and so far I&#x27;ve been pretty happy with how it works.<p>Please take a look and let me know what you think.<p>Thanks!<p>PDF Assembler Links:<p>Demonstration Site - <a href="https:&#x2F;&#x2F;www.pdfcircus.com" rel="nofollow">https:&#x2F;&#x2F;www.pdfcircus.com</a><p>GitHub - <a href="https:&#x2F;&#x2F;github.com&#x2F;DevelopingMagic&#x2F;pdfassembler" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;DevelopingMagic&#x2F;pdfassembler</a><p>NPM - <a href="https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;pdfassembler" rel="nofollow">https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;pdfassembler</a>

5 comments

timwisabout 7 years ago
Awesome! I will totally use this. Love that I don&#x27;t need to upload them to some unknown server. Although macOS preview lets you merge PDFs by dragging and dropping, but not more complex editing.
评论 #16839942 未加载
geekodourabout 7 years ago
I am using a tiling window manager and do not want to pop up dolphin, is there any way to upload a file without dragging?
评论 #16839898 未加载
hbcondo714about 7 years ago
Minor typo on pdfcircus.com<p>—wihtout uploading to a server
评论 #16839683 未加载
matt_the_bassabout 7 years ago
That looks super helpful. Thanks!
app4softabout 7 years ago
&gt; <i>There are some good server-side tools for this (QPDF, PDFTk, PDFBox, iText, Hummus)</i><p>Fake news! QPDF[0] can work offline on local PC - just download AppImage and execute it on your Linux desktop!<p>&gt; <i>but for better speed and privacy I really wanted a 100% client-side solution.</i><p>Think, you mean &quot;offline solution&quot;, because &quot;client-side solution&quot; is always mean that is part of some &quot;online service&quot;.<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;qpdf&#x2F;qpdf&#x2F;releases" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;qpdf&#x2F;qpdf&#x2F;releases</a>
评论 #16839872 未加载