Code Examples
Practical examples for generating PDFs with the DocFast API — invoices, reports, receipts, and integration guides.
Generate an Invoice PDF
Create a professional invoice with inline CSS and convert it to PDF with a single API call.
HTML — invoice.html
<html>
<body style="font-family: sans-serif; padding: 40px; color: #333;">
<div style="display: flex; justify-content: space-between;">
<div>
<h1 style="margin: 0; color: #111;">INVOICE</h1>
<p style="color: #666;">#INV-2026-0042</p>
</div>
<div style="text-align: right;">
<strong>Acme Corp</strong><br>
123 Main St<br>
hello@acme.com
</div>
</div>
<table style="width: 100%; border-collapse: collapse; margin-top: 40px;">
<tr style="border-bottom: 2px solid #111;">
<th style="text-align: left; padding: 8px 0;">Item</th>
<th style="text-align: right; padding: 8px 0;">Qty</th>
<th style="text-align: right; padding: 8px 0;">Price</th>
</tr>
<tr style="border-bottom: 1px solid #eee;">
<td style="padding: 12px 0;">API Pro Plan (monthly)</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">$49.00</td>
</tr>
<tr>
<td style="padding: 12px 0;">Extra PDF renders (500)</td>
<td style="text-align: right;">500</td>
<td style="text-align: right;">$15.00</td>
</tr>
</table>
<p style="text-align: right; font-size: 1.4em; margin-top: 24px;">
<strong>Total: $64.00</strong>
</p>
</body>
</html>
curl
curl -X POST https://docfast.dev/v1/convert/html \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"html": "<html>...your invoice HTML...</html>"}' \
--output invoice.pdf
Convert Markdown to PDF
Send Markdown content directly — DocFast renders it with clean typography and outputs a styled PDF.
curl
curl -X POST https://docfast.dev/v1/convert/markdown \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"markdown": "# Project Report\n\n## Summary\n\nQ4 revenue grew **32%** year-over-year.\n\n## Key Metrics\n\n| Metric | Value |\n|--------|-------|\n| Revenue | $1.2M |\n| Users | 45,000 |\n| Uptime | 99.97% |\n\n## Next Steps\n\n1. Launch mobile SDK\n2. Expand EU infrastructure\n3. SOC 2 certification"
}' \
--output report.pdf
HTML Report with Charts
Embed inline SVG charts in your HTML for data-driven reports — no JavaScript or external libraries needed.
HTML — report with SVG bar chart
<html>
<body style="font-family: sans-serif; padding: 40px;">
<h1>Quarterly Revenue</h1>
<svg width="400" height="200" viewBox="0 0 400 200">
<!-- Bars -->
<rect x="20" y="120" width="60" height="80" fill="#34d399"/>
<rect x="110" y="80" width="60" height="120" fill="#34d399"/>
<rect x="200" y="50" width="60" height="150" fill="#34d399"/>
<rect x="290" y="20" width="60" height="180" fill="#34d399"/>
<!-- Labels -->
<text x="50" y="115" text-anchor="middle" font-size="12">$80k</text>
<text x="140" y="75" text-anchor="middle" font-size="12">$120k</text>
<text x="230" y="45" text-anchor="middle" font-size="12">$150k</text>
<text x="320" y="15" text-anchor="middle" font-size="12">$180k</text>
</svg>
</body>
</html>
curl
curl -X POST https://docfast.dev/v1/convert/html \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d @report.json \
--output chart-report.pdf
Receipt / Confirmation PDF
Generate a simple receipt or order confirmation — perfect for e-commerce and SaaS billing.
HTML — receipt template
<html>
<body style="font-family: sans-serif; max-width: 400px; margin: 0 auto; padding: 40px;">
<div style="text-align: center; margin-bottom: 24px;">
<h2 style="margin: 0;">Payment Receipt</h2>
<p style="color: #888;">Feb 20, 2026</p>
</div>
<hr style="border: none; border-top: 1px dashed #ccc;">
<p><strong>Order:</strong> #ORD-98712</p>
<p><strong>Customer:</strong> jane@example.com</p>
<table style="width: 100%; margin: 16px 0;">
<tr>
<td>Pro Plan</td>
<td style="text-align: right;">$29.00</td>
</tr>
<tr>
<td>Tax</td>
<td style="text-align: right;">$2.90</td>
</tr>
</table>
<hr style="border: none; border-top: 1px dashed #ccc;">
<p style="text-align: right; font-size: 1.3em;">
<strong>Total: $31.90</strong>
</p>
<p style="text-align: center; color: #34d399; margin-top: 24px;">
✓ Payment successful
</p>
</body>
</html>
Node.js Integration
Install the official SDK: npm install docfast
JavaScript — Using the SDK (recommended)
import DocFast from "docfast";
import { writeFileSync } from "fs";
const client = new DocFast(process.env.DOCFAST_API_KEY);
// HTML to PDF
const pdf = await client.html("<h1>Hello World</h1>");
writeFileSync("output.pdf", pdf);
// Markdown to PDF
const doc = await client.markdown("# Report\n\nQ4 revenue grew **32%**.");
// With options
const report = await client.html(html, {
format: "A4",
landscape: true,
margin: { top: "20mm", bottom: "20mm" },
});
JavaScript — Using fetch (no dependencies)
const res = await fetch("https://docfast.dev/v1/convert/html", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.DOCFAST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ html: "<h1>Hello</h1>" }),
});
const pdf = Buffer.from(await res.arrayBuffer());
Python Integration
Install the official SDK: pip install docfast
Python — Using the SDK (recommended)
from docfast import DocFast
client = DocFast("df_pro_your_api_key")
# HTML to PDF
pdf = client.html("<h1>Hello World</h1>")
with open("output.pdf", "wb") as f:
f.write(pdf)
# With options
pdf = client.html(html, format="A4", landscape=True)
# Async support
from docfast import AsyncDocFast
async with AsyncDocFast("df_pro_your_api_key") as client:
pdf = await client.html("<h1>Hello</h1>")
Python — Using requests (no SDK)
import requests
response = requests.post(
"https://docfast.dev/v1/convert/html",
headers={"Authorization": f"Bearer {api_key}"},
json={"html": "<h1>Hello</h1>"},
)
pdf = response.content
Go Integration
Install the official SDK: go get github.com/docfast/docfast-go
Go — Using the SDK
package main
import (
"os"
docfast "github.com/docfast/docfast-go"
)
func main() {
client := docfast.New("df_pro_your_api_key")
pdf, err := client.HTML("<h1>Hello</h1><p>Generated with DocFast</p>", &docfast.PDFOptions{
Format: "A4",
Margin: &docfast.Margin{Top: "20mm", Bottom: "20mm"},
})
if err != nil {
panic(err)
}
os.WriteFile("output.pdf", pdf, 0644)
}
PHP Integration
Install the official SDK: composer require docfast/docfast-php
PHP — Using the SDK
use DocFast\Client;
use DocFast\PdfOptions;
$client = new Client('df_pro_your_api_key');
$options = new PdfOptions();
$options->format = 'A4';
$options->margin = ['top' => '20mm', 'bottom' => '20mm'];
$pdf = $client->html('<h1>Hello</h1><p>Generated with DocFast</p>', null, $options);
file_put_contents('output.pdf', $pdf);
Laravel — Using the Facade
use DocFast\Laravel\Facades\DocFast;
// In your controller
$pdf = DocFast::html(view('invoice')->render());
return response($pdf)
->header('Content-Type', 'application/pdf');