Templates define the content, layout, and paper settings used when FormPDF PRO generates a PDF from an Express form submission.
Use this section when you need to create a template, edit an existing template, preview output, validate template content, or manage template lifecycle actions from the Templates list.
Use this flow to create the first draft of a PDF layout that can later be connected to an automation rule.
After success, the template is saved as a draft, a thumbnail is generated automatically, and you are returned to the Templates list.
Note: A template must be connected to a rule before it can generate PDFs from submitted forms. See Create a Rule.
Server-side validation can block saving. Common causes include unbalanced token placeholders, invalid HTML, very large template content or source settings, or a missing external file path. When validation fails, errors are shown on the form and the template is not saved.
Use External file template when the PDF layout already lives in a readable file under the Concrete site root. This source type is ideal for version-controlled templates, developer workflows, and shared templates across multiple sites.
{{ field_handle }} are resolved with data from the Express form submission.| Extension | Status | Notes |
|---|---|---|
.html |
Recommended | Standard HTML template file |
.htm |
Recommended | Same as .html |
.php |
Not recommended | Read as raw text — PHP code is not executed. Consider renaming to .html |
Other extensions are accepted but will produce a validation warning.
All paths are relative to the Concrete site root (DIR_BASE):
application/views/pdf/invoice.html — custom template in the application directoryapplication/templates/receipt.htm — receipt layout stored alongside other app templatespackages/my_package/templates/report.html — template shipped inside a packageExternal files support the same {{ token }} syntax as Basic and Internal HTML source types:
| Token | Description |
|---|---|
{{ field_handle }} |
Value of the form field with that handle |
{{ form_name }} |
Name of the Express entity (form) |
{{ submission_date }} |
Date the form was submitted |
{{ submission_id }} |
Unique submission identifier |
Token filters are also supported:
{{ field_handle|upper }} — converts to uppercase{{ field_handle|lower }} — converts to lowercase{{ field_handle|date('Y-m-d') }} — formats a date value.php files is not executed. The file is read as raw text only.https://...) are rejected...) is blocked./application/mail/.Preview and save both use the referenced file. If the file is missing, unreadable, outside the site root, or configured with a remote URL, the form shows a validation or preview error.
Use this flow to update the content, source settings, status, or paper settings of an existing template.
After success, the template is updated, the thumbnail is regenerated, and you are returned to the Templates list.
Note: Editing uses the same form and validation rules as creating a template. If the template is already used by active rules, changes affect future PDF generation for those rules.
Use this flow to render a PDF preview before saving or before connecting the template to live automation.
After success, you see a rendered PDF preview using either sample values or data from the selected Express entry.
Note: Preview generation can fail when the current template data does not validate, or when rendering fails. If Real entry mode has no available submissions, the entry dropdown is empty. In that case, submit the related Express form first or use Sample data.
Previewing is optional but recommended before you connect a template to active rules. See Create a PDF Template and Edit an Existing Template.
Use this flow to check template content for token and HTML issues before saving.
After success, the validation panel displays a score and categorized feedback so you can decide what to fix before saving.
Note: The Validate button checks HTML content and token placeholders. Additional save-time validation may block saving for source-specific problems, such as missing external file paths or invalid source settings.
If validation fails because of a server error, the panel shows a generic error. If save fails later, fix the errors shown on the form and click Save again.
Use this flow to change a template's status, duplicate a template, or delete a template from the Templates list.
(Copy) added to the name.After success, you are returned to the Templates list with a confirmation message. Status changes, duplication, and deletion are submitted with POST requests and CSRF protection.
Common status transitions:
DRAFT → ACTIVE → PAUSED → ARCHIVED → Restore → DRAFT
Warning: Do not delete templates that are attached to active rules. If you need to remove a referenced template from use, archive it first and update the affected rules before deleting it.
Deleting a template is a hard delete. If you only want to remove a template from active use, choose Archive instead.