{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "gPdf Blog",
  "description": "Edge-native PDF rendering — engineering essays, comparison reviews, deep dives.",
  "home_page_url": "https://gpdf.com/blog/",
  "feed_url": "https://gpdf.com/blog/feed.json",
  "language": "en-US",
  "icon": "https://gpdf.com/favicon.svg",
  "favicon": "https://gpdf.com/favicon.svg",
  "authors": [
    {
      "name": "gPdf",
      "url": "https://gpdf.com"
    }
  ],
  "items": [
    {
      "id": "https://gpdf.com/blog/vector-vs-raster-barcodes-in-pdf/",
      "url": "https://gpdf.com/blog/vector-vs-raster-barcodes-in-pdf/",
      "title": "Vector vs raster barcodes in PDFs: the chargeback you don't see coming",
      "summary": "A barcode that looks perfect in Acrobat can fail at the warehouse scanner — costing real money in retailer chargebacks. Why it happens, what it costs, and how to verify your PDFs in three minutes. For buyers, ops leads, and engineers.",
      "content_text": "A barcode that looks perfect in Acrobat can fail at the warehouse scanner — costing real money in retailer chargebacks. Why it happens, what it costs, and how to verify your PDFs in three minutes. For buyers, ops leads, and engineers.",
      "date_published": "2026-05-11T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "barcodes",
        "vector",
        "logistics",
        "scan-quality",
        "pdf"
      ]
    },
    {
      "id": "https://gpdf.com/blog/choosing-a-pdf-api-in-2026/",
      "url": "https://gpdf.com/blog/choosing-a-pdf-api-in-2026/",
      "title": "Choosing a PDF API in 2026: 8 questions you should ask",
      "summary": "A vendor-agnostic decision framework for picking a PDF generation API. The eight questions that actually predict whether you'll be happy in 12 months.",
      "content_text": "A vendor-agnostic decision framework for picking a PDF generation API. The eight questions that actually predict whether you'll be happy in 12 months.",
      "date_published": "2026-05-06T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "decision-framework",
        "evaluation"
      ]
    },
    {
      "id": "https://gpdf.com/blog/gpdf-vs-docraptor-edge-beats-html-to-pdf/",
      "url": "https://gpdf.com/blog/gpdf-vs-docraptor-edge-beats-html-to-pdf/",
      "title": "gPdf vs DocRaptor: why edge rendering beats HTML-to-PDF",
      "summary": "DocRaptor uses Prince to convert HTML to PDF on a hosted backend. gPdf renders structured JSON directly at the edge. The price gap is 18×. Here's why that's not a teaser.",
      "content_text": "DocRaptor uses Prince to convert HTML to PDF on a hosted backend. gPdf renders structured JSON directly at the edge. The price gap is 18×. Here's why that's not a teaser.",
      "date_published": "2026-05-06T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "comparison",
        "docraptor",
        "pricing"
      ]
    },
    {
      "id": "https://gpdf.com/blog/gpdf-vs-puppeteer/",
      "url": "https://gpdf.com/blog/gpdf-vs-puppeteer/",
      "title": "gPdf vs Puppeteer: when 800 MB of Chromium is the wrong answer",
      "summary": "Puppeteer renders any web page to PDF, but you're paying for a headless browser you mostly aren't using. A pragmatic comparison for engineers picking a PDF stack in 2026.",
      "content_text": "Puppeteer renders any web page to PDF, but you're paying for a headless browser you mostly aren't using. A pragmatic comparison for engineers picking a PDF stack in 2026.",
      "date_published": "2026-05-06T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "comparison",
        "puppeteer",
        "edge"
      ]
    },
    {
      "id": "https://gpdf.com/blog/gs1-128-barcodes-at-01mm-precision/",
      "url": "https://gpdf.com/blog/gs1-128-barcodes-at-01mm-precision/",
      "title": "GS1-128 barcodes at 0.1 mm precision in JSON: a practical guide",
      "summary": "GS1-128 looks simple until your scanner stops reading at 240 dpi. A pragmatic guide to overall-length precision, X-dimension, quiet zones, and why HTML/CSS makes this hard.",
      "content_text": "GS1-128 looks simple until your scanner stops reading at 240 dpi. A pragmatic guide to overall-length precision, X-dimension, quiet zones, and why HTML/CSS makes this hard.",
      "date_published": "2026-05-06T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "barcodes",
        "gs1-128",
        "logistics"
      ]
    },
    {
      "id": "https://gpdf.com/blog/pdf-a-and-factur-x-explained-for-engineers/",
      "url": "https://gpdf.com/blog/pdf-a-and-factur-x-explained-for-engineers/",
      "title": "PDF/A and Factur-X explained for engineers (without the legalese)",
      "summary": "What PDF/A profiles actually mean, why Factur-X is mandatory in the EU by 2026, and the smallest practical pipeline for getting compliant from a JSON renderer.",
      "content_text": "What PDF/A profiles actually mean, why Factur-X is mandatory in the EU by 2026, and the smallest practical pipeline for getting compliant from a JSON renderer.",
      "date_published": "2026-05-06T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "pdf-a",
        "factur-x",
        "zugferd",
        "e-invoice",
        "compliance"
      ]
    },
    {
      "id": "https://gpdf.com/blog/slow-pdf-generation-in-cloudflare-workers/",
      "url": "https://gpdf.com/blog/slow-pdf-generation-in-cloudflare-workers/",
      "title": "Slow PDF generation in Cloudflare Workers? Diagnose it in 5 minutes",
      "summary": "Workers are fast — until you hand them a PDF stack designed for long-lived servers. The actual bottlenecks (and how to skip them) when you need PDFs at the edge.",
      "content_text": "Workers are fast — until you hand them a PDF stack designed for long-lived servers. The actual bottlenecks (and how to skip them) when you need PDFs at the edge.",
      "date_published": "2026-05-06T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "cloudflare-workers",
        "serverless",
        "edge",
        "performance"
      ]
    },
    {
      "id": "https://gpdf.com/blog/why-edge-pdf-rendering-matters-at-scale/",
      "url": "https://gpdf.com/blog/why-edge-pdf-rendering-matters-at-scale/",
      "title": "Why edge-deployed PDF rendering matters once you cross 10K invoices/day",
      "summary": "The arithmetic of cold starts, regional latency, and per-page compute changes shape past a certain volume. A practical look at when edge rendering stops being a 'nice idea' and starts paying its rent.",
      "content_text": "The arithmetic of cold starts, regional latency, and per-page compute changes shape past a certain volume. A practical look at when edge rendering stops being a 'nice idea' and starts paying its rent.",
      "date_published": "2026-05-06T00:00:00.000Z",
      "authors": [
        {
          "name": "gPdf Engineering"
        }
      ],
      "tags": [
        "edge",
        "scaling",
        "architecture"
      ]
    }
  ]
}