Skip to main content

Streamline HR Paperwork
with PDF Generation API

Generate offer letters, employment contracts, and onboarding packets matching your company standards.
AI‑powered templates. GDPR‑compliant, zero data retention, EU‑only processing.

Get Started FreeJoin with Google

100%

GDPR Compliant

99.9%

Uptime SLA

Consistent

Documents

<5min

Quick Setup

HR PDF Templates

Design offer letters and contracts once, generate personalized documents at scale.
Build reusable layouts in our template designer, populate with employee data via API.

Visual Template Designer

Create HR document layouts with real-time preview and instant PDF testing. No more back-and-forth between design and final output.

Dynamic Employee Data

Populate templates with employee names, positions, salaries, and more. Pass HR data as JSON – get consistent, professional PDFs.

Privacy-First Processing

Send only template ID and employee data via API. Sensitive HR information is processed and immediately discarded – never stored.

HR Template Gallery

Start with ready-made templates for contracts, NDAs, performance reviews, and more. Customize formatting and layout to match your company standards.

Version Control

Track template changes with full revision history. Auto-save protects your work, one-click rollback to previous versions.

Simple API Integration

Add PDF generation to your HR workflows through REST API. Compatible with HRIS platforms and applicant tracking systems.

Formal Job Offer Letter - PDFBolt

See AI Template Generation in Action

Describe your layout and attach references. AI creates your complete template.
Edit with AI assistance, review changes side-by-side before applying, then copy ready‑to‑use API code.

Start with a Prompt

Describe your layout, data fields, and styling. Attach reference files – PDFs, images, or code.

AI Generates Code & Data

AI creates a complete HTML/CSS template with Handlebars variables and sample data.

Edit with AI Assist

Request changes – layout, fields, styling. AI handles the code updates. Iterate until satisfied.

Review & Accept

See what changed in diff view. Compare PDF output side by side, then accept or reject – full control.

One-Click Code Integration

Copy ready-to-use code snippets in your language. Integrate in minutes.

Generate Template with AI

5 generations left

Describe the template you want to create. Be specific about layout, styling, and data fields.

0 / 10,000 characters

Drag & drop, click to browse, or paste (Ctrl+V)

PDF, PNG, JPG, JPEG, SVG, TXT, HTML, HTM, CSS, JS, JSON (max 5 files, 5 MB total)

0 KB / 5 MB

Cancel
Back
Generate with AI
Template
Data
Options

Invoice Template

History
Save
Publish
Exit
Get API Code
Quick HTML Preview
Real PDF Preview
Invoice Template Preview
Template
Data
Options

Invoice Template

History
Save
Publish
Exit
Get API Code
Quick HTML Preview
Real PDF Preview
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
<link href="https://fonts.googleapis.com/css2?family=Inter&display=swap" rel="stylesheet">
5
<style>
6
body { font-family: Inter, sans-serif; }
7
.invoice-title { color: #0C8AE5; font-size: 48px; }
8
.billing-section { display: flex; gap: 30px; }
9
.billing-column { border-left: 3px solid #0C8AE5; }
10
.items-table { background: #0C8AE5; color: white; }
11
.total-final { background: #0C8AE5; }
12
</style>
13
</head>
14
<body>
15
<div class="header">
16
<div class="logo">{{company.logo}}</div>
17
<div class="invoice-title">INVOICE</div>
18
</div>
19
<div class="invoice-meta">
20
<p>Invoice No: {{invoice_number}}</p>
21
<p>Issue Date: {{issue_date}}</p>
22
</div>
23
<div class="billing-section">
24
<div class="billing-column">
25
<h3>Bill From</h3>
26
<p>{{company.name}}</p>
27
</div>
28
<div class="billing-column">
29
<h3>Bill To</h3>
30
<p>{{client.name}}</p>
31
</div>
32
</div>
33
<table class="items-table">
34
{{#each items}}
35
<tr><td>{{description}}</td><td>{{total}}</td></tr>
36
{{/each}}
37
</table>
38
<div class="totals">
39
<div class="totals-row">Subtotal: {{subtotal}}</div>
40
<div class="totals-row">Tax: {{tax_amount}}</div>
41
<div class="totals-row total-final">Total: {{total}}</div>
42
</div>
43
</body>
44
</html>
Invoice Template Preview

AI Assistant

4 generations left

This will use

1 AI generation. Your template and sample data will be updated based on your instructions.

Describe what you want to change:

Thinking

0 / 10,000 characters

Drag & drop, click to browse, or paste (Ctrl+V)

PDF, PNG, JPG, JPEG, SVG, TXT, HTML, HTM, CSS, JS, JSON (max 5 files, 5 MB total)

Cancel
Prepare Changes

Review AI Changes

Code
PDF Preview
Template
Data
Parameters
Before
4
<style>
5
body { font-family: Inter; }
6
.invoice-title { color: #1e40af; }
7
.header { padding: 20px; }
8
.billing-section { margin: 30px 0; }
9
.items-table { background: #1e40af; }
10
.total { background: #1e40af; }
11
</style>
12
</head>
13
<body>
14
<div class="invoice">
15
<div class="header">
After
4
<style>
5
body { font-family: Inter; }
6
.invoice-title { color: #145E6D; }
7
.header { padding: 20px; }
8
.billing-section { margin: 30px 0; }
9
.items-table { background: #145E6D; }
10
.total { background: #145E6D; }
11
.qr-code { display: flex; }
12
.qr-label { color: #6b7280; }
13
</style>
14
</head>
15
<body>
16
<div class="invoice">
17
<div class="header">

Before (Current)

1

/

1

Before (Current)

After (AI-edited)

1

/

1

After (AI-edited)
Reject
Accept
Template
Data
Options

Invoice Template

History
Save
Publish
Exit
Get API Code
Quick HTML Preview
Real PDF Preview
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
<link href="https://fonts.googleapis.com/css2?family=Inter&display=swap" rel="stylesheet">
5
<style>
6
body { font-family: Inter, sans-serif; }
7
.invoice-title { color: #0C8AE5; font-size: 48px; }
8
.billing-section { display: flex; gap: 30px; }
9
.billing-column { border-left: 3px solid #0C8AE5; }
10
.items-table { background: #0C8AE5; color: white; }
11
.total-final { background: #0C8AE5; }
12
</style>
13
</head>
14
<body>
15
<div class="header">
16
<div class="logo">{{company.logo}}</div>
17
<div class="invoice-title">INVOICE</div>
18
</div>
19
<div class="invoice-meta">
20
<p>Invoice No: {{invoice_number}}</p>
21
<p>Issue Date: {{issue_date}}</p>
22
</div>
23
<div class="billing-section">
24
<div class="billing-column">
25
<h3>Bill From</h3>
26
<p>{{company.name}}</p>
27
</div>
28
<div class="billing-column">
29
<h3>Bill To</h3>
30
<p>{{client.name}}</p>
31
</div>
32
</div>
33
<table class="items-table">
34
{{#each items}}
35
<tr><td>{{description}}</td><td>{{total}}</td></tr>
36
{{/each}}
37
</table>
38
<div class="totals">
39
<div class="totals-row">Subtotal: {{subtotal}}</div>
40
<div class="totals-row">Tax: {{tax_amount}}</div>
41
<div class="totals-row total-final">Total: {{total}}</div>
42
</div>
43
</body>
44
</html>
Invoice Template Preview

API Integration: Invoice

Use the following code examples to generate PDFs using this template through our API.

NODE FETCH
NODE AXIOS
PYTHON
CURL
JAVA
C#
PHP
GO
RUST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const fs = require('fs'); async function generatePdf() { const response = await fetch('https://api.pdfbolt.com/v1/direct', { method: 'POST', headers: { "API-KEY": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "Content-Type": "application/json" }, body: JSON.stringify({"templateId":"your-template-id","templateData":{"invoice_number":"INV-2026-0112","issue_date":"January 15, 2026","due_date":"February 15, 2026","company":{"name":"Creative Studio Co.","email":"hello@creativestudio.co"},"client":{"name":"Green Leaf Cafe","email":"info@greenleafcafe.com"},"items":[{"description":"Logo Design","quantity":1,"unit_price":"350.00","total":"350.00"},{"description":"Business Card Design","quantity":1,"unit_price":"120.00","total":"120.00"},{"description":"Brand Style Guide","quantity":1,"unit_price":"170.00","total":"170.00"},{"description":"Social Media Graphics","quantity":5,"unit_price":"40.00","total":"200.00"}],"currency":"$","subtotal":"840.00","tax_rate":"10","tax_amount":"84.00","total":"924.00","qr_code_data":"https://pay.creativestudio.co/INV-2026-0112"}}) }); if (!response.ok) { const errorText = await response.text(); throw new Error(`HTTP ${response.status} - ${errorText}`); } const pdfBuffer = await response.arrayBuffer(); fs.writeFileSync('pdfbolt_example.pdf', Buffer.from(pdfBuffer)); console.log('PDF generated successfully'); } generatePdf().catch(console.error);

Close

Simple API Integration

Generate contracts, offer letters, and HR documents with our secure, easy-to-integrate API.
Production-ready code for Node.js, Python, PHP, and more. Zero retention of employee data.

endpoints
const fs = require('fs');

async function generatePdf() {
    const response = await fetch('https://api.pdfbolt.com/v1/direct', {
        method: 'POST',
        headers: {
            'API-KEY': 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            templateId: 'your-template-id',
            templateData: {
                employee_name: 'Emily Thompson',
                position: 'Senior Software Engineer',
                department: 'Engineering',
                start_date: 'February 1, 2026',
                salary: '$125,000',
                manager_name: 'David Chen',
                benefits: [
                    { benefit: 'Health Insurance', details: 'Premium plan' },
                    { benefit: 'Retirement Plan', details: '401(k) with 4% match' }
                ]
            }
        })
    });
    
    if (!response.ok) {
        const errorText = await response.text();
        throw new Error(`HTTP ${response.status} - ${errorText}`);
    }
    
    const pdfBuffer = await response.arrayBuffer();
    fs.writeFileSync('offer_letter.pdf', Buffer.from(pdfBuffer));
    console.log('PDF generated successfully');
}

generatePdf().catch(console.error);

Automation Platform Integrations

Automate HR document generation with Zapier, Make, n8n, and other platforms.
Trigger offer letters from new applicants, contracts from accepted offers, or onboarding packets from HRIS events.

n8n

Why HR Teams Choose PDFBolt

Document automation that respects employee privacy.
Quick integration with your existing HR systems, consistent output quality, and 99.9% uptime guaranteed.

AI-Powered HR Templates

Let AI create your HR templates. Describe your offer letter or employment contract, attach reference documents, and get a complete template. AI does the heavy lifting.

Zero Employee Data Retention

Employee data is processed only for PDF generation and immediately discarded. Zero retention, EU‑based servers, and GDPR compliance for handling sensitive information.

Consistent Document Formatting

Generate contracts, offer letters, and policy documents with uniform formatting that matches your corporate standards. Includes PDF/X and CMYK support for print‑ready output.

HRIS & ATS Compatible

Integrate with any HRIS or ATS through our REST API. Clear documentation with code examples in multiple languages and async processing for batch operations.

Scales with Your Hiring

Process individual contracts or bulk onboarding packets with the same reliability. 99.9% uptime whether you are hiring one person or running a company-wide restructuring.

Transparent Pricing

Monthly plans based on document volume with no hidden costs. Usage dashboard shows exactly how many documents you have generated and how many remain in your quota.

All-in-One Dashboard

Design HR templates, track document generation, and manage privacy settings – all in one place.

PDF Generation Playground

Test PDF generation from URLs, HTML content, or templates with real-time configuration and instant preview.

PDFBolt PDF generation playground dashboard for testing URL to PDF, HTML to PDF, and template-based PDF conversion with live preview

Trusted by Developers Worldwide

See how teams save time and reduce complexity with our developer‑first PDF solution.

"Amazingly, the owner personally helped solve the issues I was having creating an exported lesson plan with hyperlinks and complex styling. This is a great piece of software. But more importantly, it’s the people behind a product that truly make a company great. His willingness to support my project without payment is truly unique – a rare product and a rare individual. This product just works. Thank you, PDFBolt!"

Robert Reich-Storer

Robert Reich-Storer

Owner at Rhythmstix and Assessify

"The API is working great. My client and I have been really happy with the output of the PDFs PDFBolt has been generating. It works as documented and it takes so many headaches away from us trying to do this in‑house."

Arron Coda

Arron Coda

Developer at Hello You Digital
Source logo

"There's a lot of products that convert to PDF out there, but this one stood out to me, because the output quality is good, it's very easy to use, and pay per use. I also love the interactive API documentation, my request just worked out of the box in my app. And of course the focus on privacy, which is important when working with GDPR data. (...) PDFBolt just works, so I can focus on the business logic."

Malte Bartels

Malte Bartels

Cloud Engineer
Source logo

Transparent Pricing

Plans that scale with your needs. Start free, upgrade as your document volume grows – no hidden costs.

Free

100 documents / month

20 requests per minute

1 concurrent request

PDF file size limit: 2MB

All customization options

1 template

1 AI template generation

No credit card required

Get Started

Basic

$19

/month

2 000 documents / month

40 requests per minute

3 concurrent requests

$0.01 per overage PDF

Unlimited PDF file size

All customization options

Async processing

Upload to S3

3 team members

10 templates

10 AI template generations / month

Get Started
Recommended

Growth

$79

/month

10 000 documents / month

80 requests per minute

10 concurrent requests

$0.008 per overage PDF

Unlimited PDF file size

All customization options

Async processing

Upload to S3

10 team members

Unlimited templates

50 AI template generations / month

Print production (PDF/X, CMYK)

Priority support

Get Started

Enterprise

$249

/month

50 000 documents / month

150 requests per minute

20 concurrent requests

$0.005 per overage PDF

Unlimited PDF file size

All customization options

Async processing

Upload to S3

Unlimited team members

Unlimited templates

150 AI template generations / month

Print production (PDF/X, CMYK)

We create custom templates for you

Top priority support

Get Started

Looking for higher monthly limits?

Contact Us →

Frequently Asked Questions

Got questions? We've got answers!
Learn about data privacy, document storage, templates, and team collaboration.

Yes. Employee data is protected by design with zero retention. Every document generation happens in isolated environments on our EU-based servers. Personal information, compensation details, and other HR data are used only for PDF generation and immediately discarded after completion. We never store document content or employee details beyond 24 hours (if using our storage).
We follow strict data minimization. PDFBolt stores only technical metadata: request timestamps, endpoint used, processing duration, and response codes. We never store HTML content or template data. The html and templateData parameters are always redacted by default. Configure additional privacy controls in Privacy Preferences.
Generate any HR document your organization needs: offer letters, employment contracts, NDAs, onboarding checklists, policy acknowledgments, performance reviews, salary adjustment letters, termination notices, and more. Our Handlebars template system supports conditional clauses, variable compensation structures, and multi-language documents.
Default storage: automatically deleted after 24 hours. Direct endpoint: never stored (returned immediately). For complete control, use your own S3-compatible storage with the customS3PresignedUrl parameter – documents never touch our infrastructure and remain exclusively in your environment.
No. Only successful conversions are charged. Failed requests do not count against your monthly limit. Monitor all requests in your admin dashboard with detailed logs and error messages for troubleshooting.
Yes. Invite team members with shared access to templates, API keys, and logs. Maintain consistent document standards across your organization – from small teams to enterprise HR departments.
Yes! With AI Template Generation, you can create complete HR document templates from natural language descriptions. Describe your offer letter, employment contract, or onboarding form requirements, attach reference files, and AI generates a ready-to-use template. Review changes in diff view before accepting – you maintain full control.

Generate HR Documents from
Templates, HTML & URLs

Start with 100 document conversions per month – no credit card required.
Privacy‑first, reliable PDF generation with consistent formatting every time.

Register for Free