<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: kabir daki</title>
    <description>The latest articles on DEV Community by kabir daki (@kabir_daki).</description>
    <link>https://dev.to/kabir_daki</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3864599%2Fcedfb1f5-147e-4e25-b7d9-01da035bd883.png</url>
      <title>DEV Community: kabir daki</title>
      <link>https://dev.to/kabir_daki</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kabir_daki"/>
    <language>en</language>
    <item>
      <title>How I Compress PDF Files Server-Side Using Ghostscript</title>
      <dc:creator>kabir daki</dc:creator>
      <pubDate>Tue, 21 Apr 2026 23:24:36 +0000</pubDate>
      <link>https://dev.to/kabir_daki/how-i-reduced-pdf-file-size-by-80-in-the-browser-no-server-needed-2dd</link>
      <guid>https://dev.to/kabir_daki/how-i-reduced-pdf-file-size-by-80-in-the-browser-no-server-needed-2dd</guid>
      <description>&lt;p&gt;When I started building PDFOnlineLovePDF, I had to pick an approach for PDF compression: do it entirely in the browser, or run it on a server.&lt;br&gt;
I chose server-side, using Ghostscript. Here's why, and how it actually works under the hood.&lt;br&gt;
Why not client-side?&lt;br&gt;
Client-side PDF compression (rendering pages to canvas, re-encoding as JPEG, rebuilding the PDF with pdf-lib) is a real technique, and it works. But it has a real cost: it rasterizes every page into an image. That means the output PDF loses its text layer entirely — you can no longer select, search, or copy text from it. For a tool where a lot of users upload text-heavy documents (contracts, reports, invoices), that tradeoff didn't feel acceptable.&lt;br&gt;
Ghostscript, on the other hand, works at the PDF structure level. It recompresses embedded images, downsamples resolution, and optimizes the internal object structure — without flattening pages into pictures. Text stays selectable. That was the deciding factor.&lt;br&gt;
The actual implementation&lt;br&gt;
The client only handles the upload and a lightweight preview (rendering page 1 to a canvas with pdf.js, just so the user can see what they're about to compress):&lt;br&gt;
tsconst pdfjsLib = (window as any).pdfjsLib;&lt;br&gt;
pdfjsLib.GlobalWorkerOptions.workerSrc =&lt;br&gt;
  "&lt;a href="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.worker.min.js" rel="noopener noreferrer"&gt;https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.worker.min.js&lt;/a&gt;";&lt;/p&gt;

&lt;p&gt;const ab = await file.arrayBuffer();&lt;br&gt;
const pdf = await pdfjsLib.getDocument({ data: ab }).promise;&lt;br&gt;
const page = await pdf.getPage(1);&lt;br&gt;
const vp = page.getViewport({ scale: 0.5 });&lt;br&gt;
const canvas = document.createElement("canvas");&lt;br&gt;
canvas.width = vp.width;&lt;br&gt;
canvas.height = vp.height;&lt;br&gt;
await page.render({ canvasContext: canvas.getContext("2d")!, viewport: vp }).promise;&lt;br&gt;
That's it for the browser side — a thumbnail, nothing more. The file is then sent to the server:&lt;br&gt;
tsconst res = await fetch("/api/tools", { method: "POST", body: form });&lt;br&gt;
The server side: three quality presets, one Ghostscript flag&lt;br&gt;
On the server, I expose three compression levels, each mapped to one of Ghostscript's built-in PDF settings presets:&lt;br&gt;
tsconst LEVELS = [&lt;br&gt;
  { key: "extreme",     gs: "/screen"  },&lt;br&gt;
  { key: "recommended", gs: "/ebook"   },&lt;br&gt;
  { key: "less",        gs: "/printer" },&lt;br&gt;
];&lt;br&gt;
These presets aren't arbitrary — they're Ghostscript's own tuning profiles:&lt;/p&gt;

&lt;p&gt;/screen — low resolution (~72 dpi), smallest file, best for sharing quickly&lt;br&gt;
/ebook — medium resolution (~150 dpi), the balance most users want&lt;br&gt;
/printer — higher resolution (~300 dpi), for when print quality matters&lt;/p&gt;

&lt;p&gt;The actual compression call:&lt;br&gt;
tsawait execAsync(&lt;br&gt;
  &lt;code&gt;gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=${gsPreset} -sOutputFile="${outFile}" "${input}"&lt;/code&gt;,&lt;br&gt;
  { timeout: 60000 }&lt;br&gt;
);&lt;br&gt;
Why this tradeoff made sense for me&lt;br&gt;
Running Ghostscript per-request does mean every upload touches my server's CPU — that's a real cost client-side compression avoids. But in exchange:&lt;/p&gt;

&lt;p&gt;Documents keep their text layer (searchable, selectable, copy-pasteable)&lt;br&gt;
Compression quality is more predictable across different PDF structures (scanned images, vector graphics, mixed content) than a canvas-rasterization approach&lt;br&gt;
The three presets map cleanly to Ghostscript's own tested profiles, instead of me tuning JPEG quality percentages by trial and error&lt;/p&gt;

&lt;p&gt;The honest downside: files do get uploaded to a server for processing. I don't market this tool as "your files never touch a server" — because they do. What I do guarantee is that uploaded files are processed in a temporary directory and not retained afterward.&lt;br&gt;
What I'd explore next&lt;br&gt;
If I revisit this, the interesting middle ground is: use pdf.js client-side just to detect whether a PDF is text-heavy or image-heavy, and route text-heavy documents through Ghostscript (structure-preserving) while offering an optional aggressive image-rasterization mode for scanned documents where text-selectability was never possible anyway.&lt;/p&gt;

&lt;p&gt;The compress tool is live at PDFOnlineLovePDF.com — free, no signup. Curious how others are approaching PDF compression — canvas rasterization, Ghostscript, something else entirely? Drop a comment.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>showdev</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>I built a free alternative to iLovePDF — here's what I learned</title>
      <dc:creator>kabir daki</dc:creator>
      <pubDate>Thu, 16 Apr 2026 22:08:18 +0000</pubDate>
      <link>https://dev.to/kabir_daki/i-built-a-free-alternative-to-ilovepdf-heres-what-i-learned-40o8</link>
      <guid>https://dev.to/kabir_daki/i-built-a-free-alternative-to-ilovepdf-heres-what-i-learned-40o8</guid>
      <description>&lt;p&gt;Everyone uses iLovePDF. I did too.&lt;/p&gt;

&lt;p&gt;Until I realized: every file I uploaded was sitting on their servers.&lt;br&gt;
Contracts. Invoices. ID scans.&lt;/p&gt;

&lt;p&gt;That bothered me. So I built something different.&lt;/p&gt;




&lt;h2&gt;
  
  
  PDFOnlineLovePDF — 31 tools, zero uploads
&lt;/h2&gt;

&lt;p&gt;Here's the core difference:&lt;/p&gt;

&lt;p&gt;❌ iLovePDF → uploads your file to their server&lt;br&gt;
✅ PDFOnlineLovePDF → processes everything in your browser&lt;/p&gt;

&lt;p&gt;Your files never leave your device. Ever.&lt;/p&gt;




&lt;h2&gt;
  
  
  What it can do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Convert PDF to Word, Excel, PowerPoint&lt;/li&gt;
&lt;li&gt;Compress PDF (up to 90% smaller)&lt;/li&gt;
&lt;li&gt;Merge, split, rotate, crop&lt;/li&gt;
&lt;li&gt;OCR — extract text from scanned PDFs&lt;/li&gt;
&lt;li&gt;Translate PDF into 50+ languages&lt;/li&gt;
&lt;li&gt;Sign, protect, watermark&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All free. No signup. No limits.&lt;/p&gt;




&lt;h2&gt;
  
  
  The tech stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 15&lt;/strong&gt; — fast, SEO-friendly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF.js + pdf-lib&lt;/strong&gt; — browser-side processing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; — clean UI&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;More tools&lt;/li&gt;
&lt;li&gt;Better OCR accuracy&lt;/li&gt;
&lt;li&gt;Mobile app (maybe)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Would love your feedback! 🙏&lt;br&gt;
Search "PDFOnlineLovePDF" on Google or drop a comment below.&lt;/p&gt;

&lt;h1&gt;
  
  
  showdev #webdev #javascript #productivity #opensource
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Show DEV: I built a free browser-based PDF toolkit with 31 tools tags: showdev, webdev, javascript, productivity ---</title>
      <dc:creator>kabir daki</dc:creator>
      <pubDate>Wed, 15 Apr 2026 21:39:04 +0000</pubDate>
      <link>https://dev.to/kabir_daki/show-dev-i-built-a-free-browser-based-pdf-toolkit-with-31-tools-tags-showdev-webdev-javascript-2dmn</link>
      <guid>https://dev.to/kabir_daki/show-dev-i-built-a-free-browser-based-pdf-toolkit-with-31-tools-tags-showdev-webdev-javascript-2dmn</guid>
      <description>

&lt;h2&gt;
  
  
  Hey DEV community! 👋
&lt;/h2&gt;

&lt;p&gt;I just launched &lt;strong&gt;PDFOnlineLovePDF&lt;/strong&gt; — a 100% free, browser-based PDF toolkit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Every PDF tool I tried had at least one of these issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expensive subscriptions&lt;/li&gt;
&lt;li&gt;Full of ads&lt;/li&gt;
&lt;li&gt;Uploads your files to remote servers (privacy risk)&lt;/li&gt;
&lt;li&gt;Requires signup just to compress a file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;31 tools, all running 100% in your browser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Convert PDF to Word, Excel, PowerPoint&lt;/li&gt;
&lt;li&gt;Compress up to 90%&lt;/li&gt;
&lt;li&gt;Merge, split, rotate&lt;/li&gt;
&lt;li&gt;OCR (extract text from scanned PDFs)&lt;/li&gt;
&lt;li&gt;Sign PDFs&lt;/li&gt;
&lt;li&gt;Translate into 50+ languages (AI-powered)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Everything runs client-side using WebAssembly and modern browser APIs. &lt;strong&gt;Your files never leave your device.&lt;/strong&gt; No server, no storage, no privacy risk.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;100% client-side processing&lt;/li&gt;
&lt;li&gt;WebAssembly for performance&lt;/li&gt;
&lt;li&gt;AI-powered translation&lt;/li&gt;
&lt;li&gt;Zero dependencies on external servers&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://pdfonlinelovepdf.com" rel="noopener noreferrer"&gt;pdfonlinelovepdf.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also live on Product Hunt if you want to show some support:&lt;br&gt;
👉 &lt;a href="https://www.producthunt.com/products/pdfonlinelovepdf" rel="noopener noreferrer"&gt;Product Hunt page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love your feedback — what features would you add? 🙏&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Best PDF Tools in 2026: I Tested 7 — Here's the Honest Truth</title>
      <dc:creator>kabir daki</dc:creator>
      <pubDate>Mon, 13 Apr 2026 22:28:04 +0000</pubDate>
      <link>https://dev.to/kabir_daki/best-pdf-tools-in-2026-i-tested-7-heres-the-honest-truth-476p</link>
      <guid>https://dev.to/kabir_daki/best-pdf-tools-in-2026-i-tested-7-heres-the-honest-truth-476p</guid>
      <description>&lt;p&gt;I spent a week testing the most popular PDF tools. Here's what I found — and why I ended up building my own.&lt;br&gt;
Adobe Acrobat — Powerful, but $19.99/month for basic tasks is hard to justify.&lt;br&gt;
iLovePDF — Clean UI, but hits limits fast and forces signup.&lt;br&gt;
Smallpdf — Same story. 2 free tasks/day, then paywall.&lt;br&gt;
PDF24 — Generous free tier, but no AI features.&lt;br&gt;
Sejda — Good, but 3 tasks/hour limit.&lt;br&gt;
PDFescape — Outdated UI, limited tools.&lt;br&gt;
PDFOnlineLovePDF — 31 tools, no signup, no watermark, AI-powered. Built this one myself after getting blocked one too many times.&lt;br&gt;
The gap nobody fills: unlimited + no signup + AI features together.&lt;br&gt;
Try it free → pdfonlinelovepdf.com&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>nocode</category>
    </item>
    <item>
      <title>I Tested Adobe, iLovePDF, and 5 Other PDF Tools — Then Built My Own (Free, No Limits)</title>
      <dc:creator>kabir daki</dc:creator>
      <pubDate>Sat, 11 Apr 2026 15:54:29 +0000</pubDate>
      <link>https://dev.to/kabir_daki/i-tested-adobe-ilovepdf-and-5-other-pdf-tools-then-built-my-own-free-no-limits-15cm</link>
      <guid>https://dev.to/kabir_daki/i-tested-adobe-ilovepdf-and-5-other-pdf-tools-then-built-my-own-free-no-limits-15cm</guid>
      <description>&lt;p&gt;Everyone has that moment.&lt;br&gt;
You need to compress a PDF. You Google it. You click the first result. You upload your file. Then — "Sign up to download your file."&lt;br&gt;
Or worse: "You've reached your free limit. Upgrade to Pro."&lt;br&gt;
I got tired of it. So I tested the most popular PDF tools out there, and then I built my own. Here's what I found.&lt;/p&gt;

&lt;p&gt;The Contenders&lt;br&gt;
ToolFree LimitSignup RequiredAI FeaturesAdobe Acrobat2 tasks/dayYesYes (paid)iLovePDFLimited tasksYesNoSmallpdf2 tasks/dayYesNoPDF24UnlimitedNoNoSejda3 tasks/hourNoNoMy ToolUnlimitedNoYes&lt;/p&gt;

&lt;p&gt;Adobe Acrobat — Powerful but Expensive&lt;br&gt;
Adobe is the gold standard. The UI is polished, the features are deep, and the AI Assistant is genuinely useful. But the free tier is aggressively limited — 2 tasks per day — and the paid plan starts at $19.99/month.&lt;br&gt;
For occasional users, it's overkill. For daily use without paying? Forget it.&lt;/p&gt;

&lt;p&gt;iLovePDF — Great UI, Frustrating Limits&lt;br&gt;
iLovePDF has a clean interface and covers most common tasks: merge, split, compress, convert. It's probably the most popular free option out there.&lt;br&gt;
The problem? You hit the limit faster than you expect. And the "free" experience is designed to push you toward the paid plan. No AI features either.&lt;/p&gt;

&lt;p&gt;Smallpdf — Same Story&lt;br&gt;
Smallpdf is smooth and well-designed. But 2 tasks per day is basically nothing if you work with PDFs regularly. It also requires an account to do anything useful.&lt;/p&gt;

&lt;p&gt;PDF24 — The Hidden Gem&lt;br&gt;
PDF24 is genuinely generous. No signup, no hard limits, and it covers a wide range of tools. The UI feels a bit dated, but it works.&lt;br&gt;
No AI features though.&lt;/p&gt;

&lt;p&gt;So I Built My Own&lt;br&gt;
After testing all of these, I noticed a gap: unlimited + no signup + AI features didn't exist in one place.&lt;br&gt;
So I built [pdfonlinelovepdf] — a free PDF toolkit with 31 tools and AI features baked in. No account needed. No daily limits. No paywalls.&lt;br&gt;
What it does that others don't:&lt;/p&gt;

&lt;p&gt;✅ AI-powered PDF summarization&lt;br&gt;
✅ Ask questions about your PDF (chat with PDF)&lt;br&gt;
✅ All 31 tools completely free&lt;br&gt;
✅ No signup, ever&lt;br&gt;
✅ No file limits&lt;/p&gt;

&lt;p&gt;The Honest Comparison&lt;br&gt;
If you need deep editing and professional features → Adobe is worth paying for.&lt;br&gt;
If you want a clean UI for occasional use → iLovePDF or Smallpdf work fine.&lt;br&gt;
If you want unlimited, free, with AI → try what I built.&lt;/p&gt;

&lt;p&gt;Final Thought&lt;br&gt;
The PDF tool space is dominated by freemium products designed to frustrate you into paying. I wanted to see if it was possible to just... not do that.&lt;br&gt;
So far, so good.&lt;br&gt;
👉 [Try it free — no signup needed] &lt;a href="https://pdfonlinelovepdf.com/" rel="noopener noreferrer"&gt;https://pdfonlinelovepdf.com/&lt;/a&gt;&lt;/p&gt;




</description>
      <category>webdev</category>
      <category>tools</category>
      <category>productivity</category>
      <category>pdf</category>
    </item>
    <item>
      <title>I built a free PDF toolkit with 31 AI tools — no signup, no limits</title>
      <dc:creator>kabir daki</dc:creator>
      <pubDate>Mon, 06 Apr 2026 21:39:03 +0000</pubDate>
      <link>https://dev.to/kabir_daki/i-built-a-free-pdf-toolkit-with-31-ai-tools-no-signup-no-limits-3k5d</link>
      <guid>https://dev.to/kabir_daki/i-built-a-free-pdf-toolkit-with-31-ai-tools-no-signup-no-limits-3k5d</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every PDF tool online either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Costs money 💸&lt;/li&gt;
&lt;li&gt;Requires registration 📧&lt;/li&gt;
&lt;li&gt;Uploads your files to their servers 🔓&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Solution
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;PDFOnlineLovePDF&lt;/strong&gt; — a 100% free, browser-based PDF toolkit.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;31 tools including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Convert: PDF to Word, Excel, PowerPoint, JPG&lt;/li&gt;
&lt;li&gt;Edit: merge, split, compress up to 90%&lt;/li&gt;
&lt;li&gt;AI-powered: translate into 50+ languages, summarize, OCR&lt;/li&gt;
&lt;li&gt;Security: protect, unlock, redact&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why it's different
&lt;/h2&gt;

&lt;p&gt;✅ No signup required&lt;br&gt;&lt;br&gt;
✅ Files never leave your browser&lt;br&gt;&lt;br&gt;
✅ 100% free, no limits&lt;br&gt;&lt;br&gt;
✅ Powered by AI  &lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://pdfonlinelovepdf.com" rel="noopener noreferrer"&gt;https://pdfonlinelovepdf.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love your feedback!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>buildinpublic</category>
    </item>
  </channel>
</rss>
