24 July 2026 · 8 min read
Zapier, Make and n8n move data between apps; none of them turn that data into a document. There are three ways to add the missing step, they suit different teams, and the one you pick decides how much of the work lands on an engineer. Here is the honest comparison, plus the four things that break in every route.
Read the piece
19 July 2026 · 9 min read
The page looks perfect in Chrome and the PDF comes out looking like 1996: no colors, no layout, everything stacked in one column. CSS loss is the single most reported HTML to PDF problem, and it has five distinct causes with five different fixes. Here is how to tell which one you have hit.
Read the piece
19 July 2026 · 8 min read
Your logo is missing, the product photos are empty boxes, and the chart image never appears. Images fail in HTML to PDF for four specific reasons, and lazy loading is the one almost nobody expects. Here is how to diagnose each and the fixes that make images render every time.
Read the piece
19 July 2026 · 9 min read
The DOJ ADA Title II rule put PDF accessibility into procurement questionnaires, and generated documents are in scope. Here is what a tagged PDF actually is, what headless Chromium produces, the post-processing step that silently strips it all out, and where automated conversion stops being enough.
Read the piece
24 July 2026 · 8 min read
Most teams go shopping for a renderer first. That is the wrong first question. There are four ways a document gets generated automatically, they fail in different ways, and picking the pattern before the vendor is what keeps a document pipeline from quietly dropping files on its first busy day.
Read the piece
19 July 2026 · 9 min read
Someone on your team rebuilds the same report by hand every Monday. Automating it takes four moving parts: a scheduler, a report URL with an explicit date range, a render call that waits for the charts, and delivery that stores what it sent. Here is how each should work, and the failures that make automated reports look homemade.
Read the piece
19 July 2026 · 9 min read
A PDF renderer is a browser running inside your network, loading HTML that a user influenced. That is the exact shape of a server-side request forgery bug, and PDF generators have been a reliable place to find one for years. Here are the two attacks, the controls that stop them, and the eight questions that decide a vendor security review.
Read the piece
19 July 2026 · 10 min read
Comparing HTML to PDF API pricing is harder than it looks, because almost no two vendors bill the same unit. One charges per document, one per half megabyte, one per thirty seconds of browser time. Here is how to translate them all into one number, and the real break-even point against self-hosting.
Read the piece
19 July 2026 · 8 min read
You set a brand font, it looks perfect in the browser, and the PDF comes out in Times New Roman. Web fonts are one of the most common HTML to PDF failures, and it is almost always a timing or reachability problem, not a bug. Here is why the font falls back and the three fixes that make it embed every time.
Read the piece
19 July 2026 · 9 min read
A 200-row report renders fine, a 20,000-row one times out or kills the browser with an out-of-memory error. Large HTML to PDF jobs fail for a handful of specific reasons, and each has a clean fix. Here is why big pages time out, why the renderer crashes, and how to render heavy reports reliably.
Read the piece
19 July 2026 · 8 min read
A header that only shows on page one, a footer that overlaps the content, page numbers that will not appear: margins and running headers are the second most common HTML to PDF headache after page breaks. Here is the CSS that sets margins and the two reliable ways to get a header and footer that repeat on every page.
Read the piece
19 July 2026 · 8 min read
A US invoice that comes out A4, a wide financial table crammed into portrait, a page size that changes depending on who opens the file: page size and orientation trip up almost every HTML to PDF setup. Here is how to pin A4 or Letter, switch to landscape for wide content, and why the size sometimes gets ignored.
Read the piece
19 July 2026 · 7 min read
You render an invoice with a colored header bar and it comes out plain white, or your branded banner image disappears from the PDF. This is not a bug, it is a print default. Here is why HTML to PDF strips background colors and images, and the single setting that turns them back on.
Read the piece
19 July 2026 · 8 min read
A row cut in half, a card sliced across two pages, a heading stranded at the bottom: page breaks are the most common complaint about HTML to PDF. Here is the CSS that controls them, why it sometimes gets ignored, and how to get clean breaks on invoices, reports and tables.
Read the piece
19 July 2026 · 8 min read
An empty box where the chart should be is the classic HTML to PDF bug: the PDF was captured before the JavaScript finished. Here is why it happens, the wait signals that actually work (and the one that does not), and how to make dashboards and font-heavy pages render every time.
Read the piece
19 July 2026 · 9 min read
Go has no built in HTML to PDF, and half the packages people find are archived. Here is the current map: chromedp for real Chromium output, why gofpdf and the wkhtmltopdf wrappers are dead ends, and when to reach for Gotenberg or a hosted API instead, with code.
Read the piece
19 July 2026 · 8 min read
Running headless Chrome in your own app is a real operational burden: memory leaks, cold starts, and hosts that will not let you launch a browser at all. There are exactly two honest ways around it, and they trade off in opposite directions. Here is how to choose.
Read the piece
19 July 2026 · 10 min read
Java has three real ways to turn HTML into a PDF: a pure Java engine like OpenHTMLtoPDF, the commercial iText pdfHTML, or a real browser via Playwright or an API. Each has a catch, CSS limits, an AGPL license, or an infrastructure bill. Here is the current map with code.
Read the piece
19 July 2026 · 9 min read
The default Rails answer, WickedPDF over wkhtmltopdf, is now a liability: the binary was archived in 2023 with unpatched CVEs and CSS frozen at 2014. Here are the paths that actually work in 2026, Grover, Ferrum, Prawn and a hosted API, with code and when each fits.
Read the piece
19 July 2026 · 9 min read
Two very different jobs get called "invoice PDF API": fetching the PDF a billing platform already made, and generating your own from an HTML template. Here is when to use each, with the Stripe and QuickBooks endpoints and the render call, plus how to keep a record every finance team eventually needs.
Read the piece
19 July 2026 · 9 min read
Node has no shortage of HTML to PDF packages, and most of them are a thin wrapper around headless Chrome or an abandoned binary. Here is the current map: which ones render modern CSS, what running the browser actually costs, and the working code for each.
Read the piece
19 July 2026 · 9 min read
Most PHP HTML to PDF tutorials still hand you dompdf or a wrapper around an abandoned binary. Here is the current map for PHP and Laravel: which library renders modern CSS, which is a security risk, and the code for each.
Read the piece
19 July 2026 · 9 min read
Bundling headless Chrome into a Lambda function is a rite of passage that fights you at every step: the deployment size limit, the binary, cold starts, memory. Here is the working setup, and the honest point where it stops being worth it.
Read the piece
16 July 2026 · 9 min read
Half the Python HTML to PDF advice online points at a library that shells out to an abandoned binary. Here is the current map: what renders what, the code for each, and where each one falls over.
Read the piece
16 July 2026 · 9 min read
The browser can make a PDF and so can your server, and they produce very different files. Where html2pdf.js is genuinely fine, where it quietly ships a screenshot, and when the job moves to Node.
Read the piece
14 July 2026 · 8 min read
You already have the invoice as HTML. The job is not designing a PDF, it is rendering the markup you have, at the right moment, and keeping the file you produced.
Read the piece
14 July 2026 · 9 min read
Printing is not screenshotting. The renderer swaps your stylesheet, drops your backgrounds, paginates a layout built to scroll, and often fires before your content lands.
Read the piece
6 July 2026 · 9 min read
The library is free until you own the headless Chrome fleet behind it. Here is the real bill: memory leaks, font drift, on-call pages, and the point where an API wins.
Read the piece
1 July 2026 · 8 min read
Ctrl+P works once. It does not work 4,000 times a month, and it proves nothing about what the page said on March 3. Here is the full toolbox, honestly compared.
Read the piece
19 July 2026 · 9 min read
Half the C# HTML to PDF advice still points at a wrapper around an archived binary. Here is the current map for .NET: which library renders modern CSS, which is a security liability, and the code for each.
Read the piece
19 July 2026 · 8 min read
Both drive Chromium, so the PDF is the same. The real difference is the API shape, the operational tax, and the moment you should stop running browsers on your own servers at all.
Read the piece
24 June 2026 · 10 min read
A screenshot in a shared drive is not a record. For compliance work a snapshot needs a capture method you can explain, a timestamp you can defend, and retention you control.
Read the piece