Document Templates
Generate professional documents without writing HTML. Just provide your data.
Available Templates
- Invoice - Professional invoices with itemized billing
- Receipt - Clean receipts for transactions
- Contract - Formal agreements with signatures
Invoice Template
const response = await fetch('https://api.html4pdf.com/generate-pdf', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
template: {
type: "invoice",
data: {
company: {
name: "ACME Corporation",
address: "123 Business St, SF, CA 94102",
email: "[email protected]",
phone: "+1 (555) 123-4567"
},
client: {
name: "Client Company Inc",
address: "456 Client Ave, NY, NY 10001"
},
invoice: {
number: "INV-2024-001",
date: "January 15, 2024",
dueDate: "February 15, 2024"
},
items: [
{
description: "Web Development Services",
quantity: 40,
rate: 150.00,
amount: 6000.00
},
{
description: "UI/UX Design",
quantity: 20,
rate: 120.00,
amount: 2400.00
}
],
subtotal: 8400.00,
tax: 840.00,
total: 9240.00,
notes: "Payment due within 30 days"
},
theme: {
primaryColor: "#2563eb"
}
}
})
});
const { pdf } = await response.json();import requests
response = requests.post(
'https://api.html4pdf.com/generate-pdf',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={
'template': {
'type': 'invoice',
'data': {
'company': {
'name': 'ACME Corporation',
'address': '123 Business St, SF, CA 94102',
'email': '[email protected]',
'phone': '+1 (555) 123-4567'
},
'client': {
'name': 'Client Company Inc',
'address': '456 Client Ave, NY, NY 10001'
},
'invoice': {
'number': 'INV-2024-001',
'date': 'January 15, 2024',
'dueDate': 'February 15, 2024'
},
'items': [
{
'description': 'Web Development',
'quantity': 40,
'rate': 150.00,
'amount': 6000.00
}
],
'subtotal': 6000.00,
'tax': 600.00,
'total': 6600.00
},
'theme': {'primaryColor': '#2563eb'}
}
}
)
pdf = response.json()['pdf']curl -X POST https://api.html4pdf.com/generate-pdf \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": {
"type": "invoice",
"data": {
"company": {
"name": "ACME Corporation",
"email": "[email protected]"
},
"client": {
"name": "Client Company Inc"
},
"invoice": {
"number": "INV-001",
"date": "January 15, 2024"
},
"items": [{
"description": "Services",
"quantity": 1,
"rate": 1000,
"amount": 1000
}],
"subtotal": 1000,
"total": 1000
}
}
}'Required Fields
| Field | Description |
|---|---|
company.name | Your company name |
client.name | Client name |
invoice.number | Invoice number |
invoice.date | Invoice date |
items | Array of line items |
subtotal | Subtotal amount |
total | Total amount |
Optional Fields
logo- URL to company logocompany.address,company.email,company.phoneclient.address,client.emailinvoice.dueDatetax,discountnotes- Additional notestheme.primaryColor- Brand color (hex)
Receipt Template
const response = await fetch('https://api.html4pdf.com/generate-pdf', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
template: {
type: "receipt",
data: {
business: {
name: "Coffee Shop",
address: "789 Main St, Austin, TX",
phone: "+1 (555) 987-6543"
},
receipt: {
number: "RCP-12345",
date: "January 15, 2024, 10:30 AM",
paymentMethod: "Credit Card ****1234"
},
items: [
{
name: "Cappuccino (Large)",
quantity: 2,
price: 4.50,
total: 9.00
},
{
name: "Blueberry Muffin",
quantity: 1,
price: 3.50,
total: 3.50
}
],
subtotal: 12.50,
tax: 1.25,
total: 13.75,
footer: "Thank you for your visit!"
},
theme: {
primaryColor: "#10b981"
}
}
})
});response = requests.post(
'https://api.html4pdf.com/generate-pdf',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={
'template': {
'type': 'receipt',
'data': {
'business': {
'name': 'Coffee Shop',
'address': '789 Main St',
'phone': '+1 (555) 987-6543'
},
'receipt': {
'number': 'RCP-12345',
'date': 'January 15, 2024',
'paymentMethod': 'Credit Card'
},
'items': [
{
'name': 'Cappuccino',
'quantity': 2,
'price': 4.50,
'total': 9.00
}
],
'subtotal': 9.00,
'tax': 0.90,
'total': 9.90
}
}
}
)Required Fields
| Field | Description |
|---|---|
business.name | Business name |
receipt.number | Receipt number |
receipt.date | Transaction date/time |
items | Purchased items |
subtotal | Subtotal |
total | Total paid |
Contract Template
const response = await fetch('https://api.html4pdf.com/generate-pdf', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
template: {
type: "contract",
data: {
title: "Service Agreement",
date: "January 15, 2024",
parties: [
{
name: "Service Provider LLC",
role: "Provider",
address: "123 Business St, SF, CA"
},
{
name: "Client Company Inc",
role: "Client",
address: "456 Client Ave, NY, NY"
}
],
terms: [
{
title: "1. Scope of Work",
content: "Provider agrees to deliver services..."
},
{
title: "2. Payment Terms",
content: "Client agrees to pay $50,000..."
}
],
signatures: [
{
name: "John Smith",
title: "CEO, Service Provider LLC",
date: "January 15, 2024"
},
{
name: "Jane Doe",
title: "CTO, Client Company Inc",
date: "January 15, 2024"
}
]
},
theme: {
primaryColor: "#1f2937"
}
}
})
});response = requests.post(
'https://api.html4pdf.com/generate-pdf',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={
'template': {
'type': 'contract',
'data': {
'title': 'Service Agreement',
'date': 'January 15, 2024',
'parties': [
{
'name': 'Service Provider LLC',
'role': 'Provider'
},
{
'name': 'Client Company Inc',
'role': 'Client'
}
],
'terms': [
{
'title': '1. Scope',
'content': 'Provider agrees...'
}
],
'signatures': [
{
'name': 'John Smith',
'title': 'CEO',
'date': 'Jan 15, 2024'
}
]
}
}
}
)Required Fields
| Field | Description |
|---|---|
title | Contract title |
date | Contract date |
parties | Array of parties |
terms | Array of terms |
Theme Colors
Customize the brand color for any template:
theme: {
primaryColor: "#2563eb" // Your brand color
}Suggested colors:
- Blue:
#2563eb(professional) - Green:
#10b981(finance) - Gray:
#1f2937(legal) - Slate:
#0f172a(corporate)
Next Steps
- API Reference - Full API documentation
- Examples - More code examples
- Dashboard - Get your API key
API Reference
Every field, option and status code for the html4pdf generate-pdf endpoint: HTML, URL and template inputs, page options, base64 and binary responses.
Code Examples
Complete, working requests in JavaScript, Python, PHP, Ruby, Go and cURL, including saving the file and returning it from a web framework.