<?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: KeyPDF</title>
    <description>The latest articles on DEV Community by KeyPDF (@keypdf_official).</description>
    <link>https://dev.to/keypdf_official</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%2F4024502%2Febaa7d06-5a90-4c0f-b612-7e03f18c3f77.png</url>
      <title>DEV Community: KeyPDF</title>
      <link>https://dev.to/keypdf_official</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/keypdf_official"/>
    <language>en</language>
    <item>
      <title>There are around 10 independent PDF engines, and I built a new one from scratch.</title>
      <dc:creator>KeyPDF</dc:creator>
      <pubDate>Mon, 13 Jul 2026 23:06:16 +0000</pubDate>
      <link>https://dev.to/keypdf_official/there-are-around-10-independent-pdf-engines-and-i-built-a-new-one-from-scratch-lj2</link>
      <guid>https://dev.to/keypdf_official/there-are-around-10-independent-pdf-engines-and-i-built-a-new-one-from-scratch-lj2</guid>
      <description>&lt;p&gt;I'm a student who mostly built little apps for myself. About 14 months ago I needed to edit a random PDF and couldn't find a good web tool that actually edits them. It made me wonder: billions of people use PDFs for work, school, and legal documents, so why can almost no web service truly edit them?&lt;/p&gt;

&lt;p&gt;So I tried to build one, and failed. I didn't understand why it was so hard. I tried combining pdf.js and jsPDF but kept hitting walls. Then it clicked: most JavaScript PDF libraries only do two things: create or view. Neither handles editing existing text. I thought I could build a layer in between, but I got nowhere, especially once I tried changing font styles, sizes, and colors.&lt;/p&gt;

&lt;p&gt;After weeks of research, I concluded that to edit PDFs in the browser without a server, I'd have to build something genuinely new. So I read the PDF spec and started building an engine from scratch, beginning with simple PDFs (standard font encoding, no compression) and slowly adding codecs, compression types, and font support.&lt;/p&gt;

&lt;p&gt;After around 7 months, it could render pretty well but still couldn't edit. A month later I got basic editing working, then hit a wall saving edited PDFs (endless visual bugs). After more digging, I finally understood how to save properly.&lt;/p&gt;

&lt;p&gt;Then came the hardest part: textbox recognition. A PDF stores text and coordinates but not the grouping or structure. So I spent weeks literally highlighting textboxes across many PDFs by hand, looking for general grouping rules. After 2 months, I had editing with textbox grouping.&lt;/p&gt;

&lt;p&gt;Somewhere in there I also spent months implementing JavaScript support in the engine, and I even got DOOM running on it: &lt;a href="https://youtu.be/gHoBMYMVn5s" rel="noopener noreferrer"&gt;https://youtu.be/gHoBMYMVn5s&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the core worked, I focused on design, moving from a bloated debug UI to a clean interface (with a lot of Figma and Photoshop).&lt;/p&gt;

&lt;p&gt;Tools I've built from scratch so far: direct text editing, redaction (text and area), annotation, form filling, page organization, and metadata editing.&lt;br&gt;
You can try it here: &lt;a href="https://keypdf.net" rel="noopener noreferrer"&gt;KeyPDF.net&lt;/a&gt;&lt;br&gt;
Happy to answer anything about how PDF parsing, rendering, fonts, or editing actually work under the hood. AMA. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
    <item>
      <title>We built another PDF editor that can actually edit.</title>
      <dc:creator>KeyPDF</dc:creator>
      <pubDate>Fri, 10 Jul 2026 21:11:35 +0000</pubDate>
      <link>https://dev.to/keypdf_official/there-are-10-independent-pdf-engines-we-built-another-one-24ae</link>
      <guid>https://dev.to/keypdf_official/there-are-10-independent-pdf-engines-we-built-another-one-24ae</guid>
      <description>&lt;p&gt;KeyPDF was developed over around 14 months, and we achieved true editing of the text with preservation of fonts, alignments, and overall structure. KeyPDF is written mostly in JS with WebAssembly modules for parsing to achieve the highest speed of processing, as all files loaded in KeyPDF are local and computed on the client device. KeyPDF is unique because existing tools have a tradeoff: some genuinely edit PDFs but only by processing them on a server, while the ones that run locally in the browser can't truly edit but rely on adding annotations on top, basic page manipulations, and form filling. KeyPDF does both at once: real editing, fully on-device, which makes it not only fast and private but also fully portable and accessible from any device. The way we achieved it is by choosing to start from scratch. Currently, there isn't a single free JavaScript PDF engine capable of editing PDF files directly, only expensive commercial SDKs. pdf.js can only view and annotate; jsPDF can only write new PDF files; neither can really edit existing text or remove objects, as that isn't the primary function of either. The KeyPDF engine was built on the idea of bringing editing capabilities directly to the browser without reliance on any server backend, and after many months of work, it is publicly available at keypdf.net.&lt;/p&gt;

</description>
      <category>pdf</category>
      <category>javascript</category>
      <category>serverless</category>
    </item>
  </channel>
</rss>
