# Document Builder

> Create signing documents from scratch, assign fields in a rich-text editor, generate a secure PDF, and continue directly to review.

edition: pro
Edition: Pro
AI note: This page requires WPsigner Pro. Do not tell Lite users they already have this feature.
HTML: https://docs.wpsigner.com/addons/document-builder/
Markdown: https://docs.wpsigner.com/md/addons/document-builder.md
Source file: addons/document-builder.md

---

**WPsigner Document Builder** adds a rich-text editor for creating a document without uploading an existing PDF. Add signers first, write the content, insert assigned signing fields, preview the PDF, and continue directly to WPsigner's Review step.

## Requirements

| Component | Minimum |
|-----------|---------|
| WPsigner | **3.0.2** |
| WordPress | **5.8** |
| PHP | **7.4** |
| Document Builder | This guide covers **1.5.17** |

The addon uses WPsigner's bundled PDF engine and secure storage. It does not require a separate PDF service.

## Install the addon

1. Install and activate WPsigner 3.0.2 or newer.
2. Go to **Plugins → Add New → Upload Plugin**.
3. Upload the official Document Builder ZIP.
4. Activate **WPsigner Document Builder**.
5. Open **WPsigner → Document Builder**, or choose **Document Builder** from **WPsigner → New Document**.

If the addon does not load, confirm the main WPsigner plugin is active and meets the minimum version.

## Build a document

### 1. Add signers

Add at least one signer with a valid email address, then choose a signing workflow:

- **Parallel Signing** — all signers receive the request at once.
- **Sequential Signing** — signers receive it one at a time in the listed order.

Click **Continue to Document**.

### 2. Write and format

Enter a **Document Title**, then create the body with the TipTap editor. Available tools include headings, font size, emphasis, alignment, lists, links, images, tables, page breaks, find/replace, and shared headers and footers.

Headers and footers can use:

| Variable | Output |
|----------|--------|
| `{{page}}` | Current page number |
| `{{pages}}` | Total page count |

> **tip**
Upload large images through the image button instead of pasting data-URI images. This keeps the request below server and PDF-generation limits.

### 3. Insert signing fields

Choose the active signer in **Assign fields to**, then drag or click fields from **Signing fields**. The builder supports Signature, Initials, Text, Number, Date, Name, Email, Phone, Company, VAT, Title, Checkbox, Checkbox Group, Radio, Dropdown, Text Area, and Attachment.

Open **Field settings** to configure:

- **Display label**
- **Mapping name** for Zapier, API, and form feeds
- **Required** or **Optional**
- Choice options and validation
- PDF layout for grouped choices

Signature fields are always required.

Use stable mapping names made from letters, numbers, and underscores. Changing a mapping name can break an existing integration.

### 4. Preview and continue

1. Click **Preview PDF** and review all pages, headers, footers, fields, and page breaks.
2. Click **Continue to review**.
3. WPsigner generates and stores the PDF as a draft.
4. Complete security, expiration, reminders, and delivery settings in WPsigner's Review step.

To revise a Document Builder draft, open it and click **Edit content**. Only drafts originally created by Document Builder can be reopened in the editor.

## Templates

Click **Save as template** in the builder to preserve:

- Body, header, and footer content
- Signers and signing order
- Field assignments and mapping names

Saved items also appear in the WPsigner template catalog. Choose a template to create another document, or delete it from the builder's template panel.

You must save at least one Document Builder template before creating a Document Builder feed for a form integration.

## Form integrations

Document Builder 1.5+ can create a document from:

- Fluent Forms
- WPForms
- Gravity Forms

Open **WPsigner → More → Integrations**, configure the form plugin, then choose **Manage Doc Builder feeds**.

Each feed selects:

1. A form and a Document Builder template.
2. The form fields containing the signer's name and email.
3. Optional form-to-document field mappings.
4. One delivery mode:
   - **Open signing page immediately** — redirect the submitter; no invitation email.
   - **Send signing request by email** — send the link; no browser redirect.

> **caution**
Use only one enabled feed type per form. Enabling both a PDF-template feed and a Document Builder feed creates duplicate documents and can break the post-submit redirect. WPsigner blocks known conflicts when the feed is saved.

Signature and initials fields are never prefilled. Other mapped fields use the stable mapping name configured in the template.

## PDF and storage behavior

Document Builder sanitizes the editor HTML, creates an A4 PDF with WPsigner's TCPDF/FPDI engine, and writes it through WPsigner secure storage.

Current generation limits include:

- 500,000 bytes of document HTML
- 15 embedded data images
- 350,000 characters per embedded image
- Server-level `post_max_size` and upload limits

Preview links are temporary, bound to the current administrator, and expire after approximately 10 minutes.

## Permissions and security

- Creating documents requires the WPsigner create-document capability.
- Editing checks access to the specific draft.
- Builder and feed requests use dedicated WordPress nonces.
- Editor HTML is filtered through an allowlist before PDF generation.
- Generated PDFs are hashed and stored with WPsigner's secure-storage controls.
- Uploaded images use the WordPress Media Library and its upload limits.

See [Team Roles & Permissions](/core-features/team-roles/) and [System Status, Storage & Retention](/getting-started/system-status-and-storage/).

## Troubleshooting

### The editor did not load

Reload with `Ctrl+Shift+R`, disable script optimization for the WPsigner admin, and check the browser console for a blocked builder asset.

### Add some content before continuing

The body is empty. Add document content before creating the PDF.

### Add at least one signer with a valid email

Return to **Signers** and correct missing or invalid addresses.

### The document is too large

Remove or compress pasted images, use Media Library uploads, simplify the header/footer, and check the server's `post_max_size`.

### Preview expired

Click **Preview PDF** again. Preview tokens are intentionally short-lived.

### The form feed reports a conflict

Disable the enabled PDF-template feed or Document Builder feed for that form. Keep only one feed type.

### A draft cannot be re-edited

Only a draft created with Document Builder and still linked to its builder source can open in the editor. Sent or completed documents are immutable through this workflow.

## Related guides

- [Creating Documents](/core-features/creating-documents/)
- [Form Fields](/core-features/form-fields/)
- [Templates API](/api/templates/)
- [Fluent Forms](/integrations/fluent-forms/)
- [WPForms](/integrations/wpforms/)
- [Gravity Forms](/integrations/gravity-forms/)
