Each guide shows the request we'd send for that document, the HTML that prints cleanly, and where it tends to go wrong: rows splitting across pages, charts captured half-drawn, backgrounds that come out white.
Anything you can build as a web page. Invoices, reports, contracts, certificates and dashboard exports come up most often. With htmltopdfapi.co you POST HTML or a URL and get a PDF back, rendered by headless Chromium, so flexbox, grid, web fonts and JavaScript charts work the way they do in Chrome. If the category is new to you, start with what an HTML to PDF API is.
Your invoice template in, an A4 or Letter PDF out, with "Page 1 of 2" in the footer and line-item rows that don't split.
View guideLong tables with repeating headers, charts that finish drawing before capture, and landscape pages for wide data.
View guideAgreements built from versioned HTML, with the contract reference in every footer and signature blocks kept on one page.
View guideOne landscape template, one call per recipient. Zero margins and background printing for a full-bleed page.
View guideA "Download PDF" button for your app that works from Vercel or Lambda, with no Chromium in your deployment.
View guideTwo decisions shape most of the output: whether you send html or a url, and which few options you set. The full parameter reference is in the guide.
| Use case | Input | Key options | Deep-dive |
|---|---|---|---|
| Invoices | html | paper_size a4/letter, margins, footer_html with page numbers | Invoice PDF generator |
| Reports | html or url | orientation landscape, header_html, wait_until networkidle0 | PDF microservice pattern |
| Contracts | html | margins, footer_html with reference, CSS break-inside | Laravel HTML to PDF |
| Certificates | html | orientation landscape, margins 0, print_background, paper_width/height | Certificate PDF generator |
| Dashboard export | url or html | viewport_width, wait_for_selector, orientation landscape | Dashboard to PDF |
Can't find what you need? Ask us.
A hosted service you send HTML or a URL to over HTTP, and it returns a PDF. htmltopdfapi.co renders with headless Chromium on AWS Lambda, so modern CSS and JavaScript work. The full explanation is in What is an HTML to PDF API?
Send html when your server already renders the document, such as invoices, contracts and certificates; it keeps private data out of public URLs. Send url when the page is built in the browser with JavaScript, such as charts and dashboards, and pair it with wait_until or wait_for_selector.
Anything that can make an HTTPS POST. PHP and Laravel have an official SDK (composer require htmltopdfapi/php-sdk); from Node.js, Python, Ruby or Go you call the REST endpoint with your usual HTTP client. See the integration guide.
The Free plan gives you 200 pages a day without a credit card. Pro is $29/month for 50,000 pages and 5 API keys. Enterprise is priced per contract, with unlimited pages, 100 MB input and an SLA. Billing counts rendered PDF pages, not requests. See pricing.