PDFPipe

Guides

Generate PDFs in any language

Choose your stack. Each guide shows the minimal code to turn an HTML string or URL into a PDF using a real render engine, with fonts and page breaks handled.

Add page numbers to a PDF

Running headers and footers with .pageNumber, .totalPages, .date substitution. Works on any page size or margin.

Read guide →

Export a React component to PDF

Render your component to HTML and stream back a real PDF. No html2canvas, jsPDF, or rewriting your UI in PDF primitives.

Read guide →

PDF in Next.js

Route handler that posts HTML to a render API and streams the PDF back. No browser binary in your bundle.

Read guide →

PDF in Node.js

Three lines of fetch. Works in Express, Fastify, and bare Node 18+.

Read guide →

PDF in Python

FastAPI endpoint using httpx. Drop the WeasyPrint dependency.

Read guide →

PDF in Django

Django view that returns a streaming PDF response with no extra dependencies.

Read guide →

PDF in Go

net/http client that streams the PDF response. No external packages required.

Read guide →

PDF in Java

Spring Boot controller using RestTemplate. Replaces iText and PDFBox.

Read guide →

PDF in Laravel

Laravel controller using Http::post. Drop the dompdf or snappy dependency.

Read guide →

PDF in Rails

Rails controller using Net::HTTP. No wkhtmltopdf binary to install.

Read guide →

PDF in PHP

Plain PHP using file_get_contents. Works with any framework.

Read guide →

PDF in Ruby

Ruby module using Net::HTTP from the standard library.

Read guide →

PDF in Rust

Axum handler using reqwest. Async, typed, no browser binary to manage.

Read guide →

PDF in C#

ASP.NET Core controller using IHttpClientFactory. Replaces PuppeteerSharp.

Read guide →

PDF in .NET

Minimal API and MVC with Polly resilience. Replaces DinkToPdf.

Read guide →

PDF in Flask

Flask route using requests. Works with Jinja2 templates and no extra dependencies.

Read guide →

PDF in Kotlin

OkHttp, Spring WebClient, and Ktor examples. No Chromium binary in your JVM app.

Read guide →

PDF in Express

Express route that returns a PDF response. Drop the html-pdf or puppeteer dependency.

Read guide →

PDF in FastAPI

FastAPI endpoint using httpx. Async-native, no WeasyPrint or headless browser needed.

Read guide →

PDF in Spring Boot

Spring Boot controller and WebClient. Replaces Flying Saucer, iText, and PDFBox.

Read guide →

PDF in NestJS

Injectable PdfService and controller. No Puppeteer process, no wkhtmltopdf binary.

Read guide →

PDF in Deno

fetch is built in, nothing to install. Works on Deno Deploy and Deno.serve with --allow-net only.

Read guide →

PDF in Bun

Bun.serve handler that streams the PDF straight to the client. No binary to install, no npm package to add.

Read guide →

PDF in Elixir

Phoenix controller using Req or HTTPoison. One HTTP call replaces the usual PDFKit/wkhtmltopdf approach.

Read guide →

PDF in Remix

Resource route that returns a PDF response from a loader. No Puppeteer, no CLI tools.

Read guide →

PDF in SvelteKit

SvelteKit +server.ts endpoint that proxies the render and streams the PDF back. Works on any adapter.

Read guide →

PDF in Vue.js

Node.js or Nuxt Nitro server route that calls the render API. No jsPDF or canvas workarounds.

Read guide →

PDF in Nuxt.js

Nuxt server API route using defineEventHandler. One file, typed, works with Nuxt 3 and Nitro.

Read guide →

PDF in Astro

Astro API endpoint that proxies the render. Works with any Astro adapter including SSR and serverless.

Read guide →

PDF in AWS Lambda

No Chromium layer, no wkhtmltopdf binary. One HTTP call keeps your Lambda small and cold-start fast.

Read guide →

PDF in Cloudflare Workers

Fetch the render API from a Worker. Stream the PDF back or store it in R2. Works with Hono too.

Read guide →

PDF in Vercel

Route Handler or Edge Function. No browser binary in your bundle, instant cold starts, works on free plans.

Read guide →

PDF in GitHub Actions

Generate PDFs in CI with no runner dependencies. Attach to releases, upload as artifacts, or post a stored URL to Slack.

Read guide →

PDF in Docker

No browser binary in your image. Alpine compatible. Drop 200 MB of Chromium dependencies with one HTTP call.

Read guide →

Ready to render?

Get an API key and render your first PDF in minutes. 500 free documents a month, no card required.

Get your API key →