Page Designer

Design PDF templates from a blank page, with text, tables, images and barcodes. Send JSON from your app and get back the filled-out PDF.

  • No credit card needed
  • Free test PDFs
  • 2.0¢ per PDF on Starter
Your JSON data
POST /api/v2/templates/{template_id}/submissions
{
  "data": {
    "attendee": {
      "name": "Maya Chen"
    },
    "seat": "B12",
    "ticket_id": "NWS-20931"
  }
}
From your app, a script or an AI agent
Your page design
Northwind Summit 2026
Pier 27, San Francisco
Attendee
{{ attendee.name }}
Date
Nov 14, 2026
Seat
{{ seat }}
ticket_id
ticket_id
{{ ticket_id }}
Built by your AI agent, or by you
Your PDF
Northwind Summit 2026
Pier 27, San Francisco
Attendee
Maya Chen
Date
Nov 14, 2026
Seat
B12
NWS-20931
ticket-NWS-20931.pdf

Trusted by teams in lending, insurance, property and healthcare

  • Jones
  • Harvust
  • Northwoods
  • iENROLL by EMREACH
  • BloomerHealth
  • FlowEQ
  • NOCD
  • Leeway

Templates your AI agent can write

A page design is JSON with a public schema, so your agent can build one from a sentence and change it when you ask.

  • Works through the DocSpring MCP server or the API
  • A versioned JSON Schema, so its layouts keep working
  • Errors that point to the value, so it can fix them
Connect an AI agent

Fine-tune it with drag and drop

Open your agent's page design in the editor, or start from a blank page. Drag elements onto the page, size them and snap them to each other.

  • Text, images, tables, charts, checkboxes, shapes, QR codes, barcodes and fillable form fields
  • Free sections, stacks, columns and repeating sections
  • Snap, rotate, lock and hide elements
Page Designer guide

Tables that grow with your data

Send a list and the table adds a row for each item, over as many pages as it takes.

  • A row for each item, with its heading on every page
  • Repeating sections for whole blocks of the page
  • Show sections and elements only when they apply
Sections and tables

QR codes and barcodes

Draw a QR code or any of seven kinds of barcode from your data, at whatever size the page needs.

  • Code 128, Code 39, Code 93, Code 25, EAN-13, EAN-8 and UPC-A
  • Text and data together, like a link that ends in an order number
  • Check digits added for you, or checked when you send them
QR codes and barcodes

Generate a PDF in a few lines of code

Send JSON to the same API as every other DocSpring template.

  • SDKs in ten languages, or any HTTP client
  • Create page designs with the API, as JSON
  • Wait for the PDF, or let it run in the background
The layout format
from docspring import Client

client = Client()
data = {"full_name": "Maya Chen", "monthly_income": 6200}
submission = client.create_submission(
    "tpl_1234567890abcdef01",
    {"data": data},
)
print(submission.files.pdf.download_url)

Test PDFs are free, unlimited and watermarked.

Features

Headers and footers

A header and a footer on every page, with page numbers like "Page 2 of 3".

Fonts

19 openly licensed fonts, the same in the editor as in the PDF.

Images

Logos you upload, and photos from the data you send.

Text that fits

A text box can grow with its text, shrink the text to fit, or cut it off.

Preview

The Preview tab shows the PDF with sample data after each change.

Embedded editor

Let your customers build their own pages in the editor inside your app.

Versions

Publish a version, so changes to the draft don't reach your integration.

US or EU hosting

Keep your documents in the US or the EU. SOC 2 Type II audited.

Questions about the Page Designer

Read the Page Designer guide

What is the Page Designer?

A kind of PDF template that starts from a blank page. You or your AI agent place text, images, tables, charts, checkboxes, shapes, QR codes and barcodes on the page and put fields from your data in them. Each request fills in the design and returns a PDF.

Can a page design have fillable form fields?

Yes. Add text fields, checkboxes, radio buttons and drop-downs. Each request fills them in from your data, and whoever opens the PDF can change them in their PDF reader, unless you make a field read-only.

Can an AI agent build a page design for me?

Yes. Connect your agent to the DocSpring MCP server, or give it an API token, and describe the page you need. It writes the layout as JSON, which a public JSON Schema describes, and DocSpring checks it and points to any mistake. Change the design in the editor afterwards, and your agent can read your changes back.

How is it different from a PDF or HTML template?

A PDF template fills in a PDF you already have, and an HTML template is HTML and CSS that you write. The Page Designer starts from a blank page and needs no code: you lay the page out with the mouse, and tables and text boxes grow with your data.

Can a table run onto more than one page?

Yes. A table adds a row for each item in a list, and a table with more rows than fit on the page carries on over the next one. Its heading row can repeat on each page, and rows can be kept from breaking across pages.

Can I create and update page designs with the API?

Yes. A page design's layout is a JSON document with a published JSON Schema, so you can create and update page designs with the API, or generate layouts in your own code.

Which fonts can I use?

19 openly licensed fonts, including Roboto, Open Sans, Lato and Poppins, and handwriting fonts such as Dancing Script. The editor shows the same fonts the PDF uses.

Is DocSpring secure enough for financial, insurance and healthcare documents?

DocSpring is SOC 2 Type II audited and HIPAA compliant, and keeps your documents in the US or the EU. We sign a BAA on every paid plan: contact [email protected] before you send protected health information. Enterprise customers can also run DocSpring on their own servers.

How much does a page design PDF cost?

A PDF uses 4 credits for up to 10 pages. Very large files and long processing count as extra units. Test PDFs are free and watermarked.

Design your first PDF today

Test PDFs are free and unlimited. No credit card needed.

Product news by email

New features and changes, once a month.