> ## Documentation Index
> Fetch the complete documentation index at: https://docsautomator.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# PDF Template Guide

> Upload existing PDFs and overlay data fields for pixel-perfect document generation

PDF templates let you use an existing PDF as the base for document generation. Upload any PDF and use the visual editor to define where data fields should be overlaid. At generation time, DocsAutomator fills in those fields on top of your original PDF — the underlying PDF is never modified.

<Info>
  The visual editor positions data fields **on top of** your PDF. It does not edit the PDF itself. If you need to change the underlying layout, update the source PDF in your design tool and re-upload it.
</Info>

<Warning>
  **Don't type `{{placeholders}}` into your PDF.** The double-curly-bracket syntax only works in [Google Doc templates](/docsautomator-basics/google-doc-template-guide), where DocsAutomator finds and replaces the text for you. In a PDF, that text is part of the page itself, so it prints **literally** in your generated document (you would see `{{invoice_number}}` instead of the value, with no error to warn you). Upload your PDF unchanged, then add fields with the visual editor described below.
</Warning>

<Info>
  Looking for Google Doc templates instead? See the [Google Doc Template Guide](/docsautomator-basics/google-doc-template-guide).
</Info>

## When to Use PDF Templates

<CardGroup cols={2}>
  <Card title="PDF Templates" icon="file-pdf">
    * You already have a PDF (tax forms, government docs, branded designs)
    * Exact layout must stay unchanged
    * Filling in specific fields on an existing document
    * Working with PDFs from a designer or external tool
  </Card>

  <Card title="Google Doc Templates" icon="file-lines">
    * Dynamic content with variable-length sections
    * Line items and repeating rows
    * Easier editing and iteration
    * Rich text formatting and conditional content
  </Card>
</CardGroup>

***

## Uploading a PDF Template

<Steps>
  <Step title="Open your automation">
    Navigate to the automation where you want to use a PDF template.
  </Step>

  <Step title="Select PDF template">
    In the Template section, choose **Existing PDF** as the template type.

    <Frame caption="Choose between Google Doc and Existing PDF template types">
      <img src="https://mintcdn.com/docsautomator/_6yOiGZxVT7AuuzV/images/pdf-template/template-type-selection-new.png?fit=max&auto=format&n=_6yOiGZxVT7AuuzV&q=85&s=1fd9cc6c5ce62675c5abf342871db401" alt="Template type selection showing Google Docs, Microsoft Word, and Existing PDF options" width="2848" height="1602" data-path="images/pdf-template/template-type-selection-new.png" />
    </Frame>
  </Step>

  <Step title="Upload your PDF">
    Click the upload area or drag and drop your PDF file. The file must be under 10MB.

    <Frame caption="Click to upload or drag and drop your PDF file">
      <img src="https://mintcdn.com/docsautomator/UNxlW8gqJsW_Ps70/images/pdf-template/upload-area.png?fit=max&auto=format&n=UNxlW8gqJsW_Ps70&q=85&s=8b8d4d176f6720b34d148ce4f73766bd" alt="PDF upload area" width="3104" height="2024" data-path="images/pdf-template/upload-area.png" />
    </Frame>
  </Step>

  <Step title="Review your uploaded PDF">
    Once uploaded, you will see a summary of your PDF including the filename, page count, and number of detected placeholders.

    <Frame caption="Uploaded PDF showing file details and placeholder count">
      <img src="https://mintcdn.com/docsautomator/UNxlW8gqJsW_Ps70/images/pdf-template/uploaded-pdf.png?fit=max&auto=format&n=UNxlW8gqJsW_Ps70&q=85&s=f98ae8c6ae6a5443d539c87df0cc55de" alt="Uploaded PDF file summary showing 401k Enrollment Form with 3 pages and 31 placeholders" width="3104" height="2024" data-path="images/pdf-template/uploaded-pdf.png" />
    </Frame>
  </Step>
</Steps>

<Warning>
  The maximum file size for PDF templates is **10MB**. Ensure your PDF does not exceed this limit before uploading.
</Warning>

### AcroForm Field Detection

When you upload a PDF that contains interactive form fields (created in tools like Adobe Acrobat), DocsAutomator automatically converts them into placeholders:

| PDF Field Type        | Placeholder Type |
| --------------------- | ---------------- |
| Text field / Dropdown | Text             |
| Checkbox              | Checkbox         |
| Signature             | E-Signature      |

Button and radio group fields are not supported and will be skipped.

***

## Replacing or Updating Your PDF

Once a PDF template is uploaded, you have two options for changing it, depending on whether you want to keep your placeholders:

| Action                     | When to use                                                                                      | What happens to placeholders                                                   |
| -------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| **Replace PDF file**       | The new PDF is the same template with minor changes (updated logo, revised copy, branding tweak) | Kept. Positions, sample data, and field properties carry over to the new file. |
| **Switch template format** | You want to start over with a different template, or switch to Google Docs / Word                | Deleted along with the PDF. You'll be returned to the template-format picker.  |

### Replace PDF file (keep placeholders)

Use this when you receive a revised version of the same document and want to swap the file without rebuilding your placeholder layout.

You can trigger it from two places:

* **Three-dots menu** on the minimized template row → **Replace PDF file**
* **Upload icon** between the Edit and Delete buttons on the PDF template card

<Frame caption="Three-dots menu on the template row showing Replace PDF file and Switch template format">
  <img src="https://mintcdn.com/docsautomator/02A2Ogo8kufrhSzs/images/pdf-template/replace-pdf-menu.png?fit=max&auto=format&n=02A2Ogo8kufrhSzs&q=85&s=a147824e1735d63ab2cbe4250fc6a7a8" alt="Three-dots menu open with Replace PDF file and Switch template format options" width="498" height="298" data-path="images/pdf-template/replace-pdf-menu.png" />
</Frame>

Pick the new PDF and DocsAutomator updates the file binary in place. AcroForm field detection is **not** re-run — your existing placeholders are reused as-is.

<Warning>
  If the new PDF has different page dimensions, fewer pages, or content has reflowed, some placeholders may end up in the wrong position or point at a page that no longer exists. Open the editor after replacing the file and review each placeholder.
</Warning>

### Switch template format

Use the **Switch template format** option in the three-dots menu (or the **Change** button in the format picker) when you want to discard the current PDF entirely — for example, to move to a Google Docs template instead. This removes the PDF file from DocsAutomator's storage and clears all placeholders.

***

## The Visual Placeholder Editor

After uploading a PDF, click the edit button to open the full-screen placeholder editor. This editor lets you define **where** data fields appear on top of your PDF — it does not modify the PDF content itself. The editor has three panels:

* **Left sidebar** -- Add new fields and manage existing placeholders
* **Center** -- The PDF viewer with draggable placeholder overlays
* **Right sidebar** -- Properties panel for the selected placeholder

<Frame caption="The visual editor with left sidebar, PDF viewer, and properties panel">
  <img src="https://mintcdn.com/docsautomator/UNxlW8gqJsW_Ps70/images/pdf-template/visual-editor-overview.png?fit=max&auto=format&n=UNxlW8gqJsW_Ps70&q=85&s=e1d36465bc85e7ef4185d32cacf0846b" alt="Visual placeholder editor showing the PDF with field types in the left sidebar" width="3104" height="2024" data-path="images/pdf-template/visual-editor-overview.png" />
</Frame>

### Adding Placeholders

You can add placeholders in two ways:

1. **Click** a field type in the left sidebar to add it to the center of the current page
2. **Drag** a field type from the sidebar and drop it at a specific position on any page

Available field types:

| Type         | Description                                                              |
| ------------ | ------------------------------------------------------------------------ |
| Text         | Replaced with text data from your data source                            |
| Image        | Replaced with an image from your data source (auto-scaled to fit bounds) |
| Checkbox     | Shows a checkmark when the value is truthy                               |
| Static Text  | Fixed text baked into every document (not mapped to a data source)       |
| Static Image | Fixed image (logo, stamp, watermark) baked into every document           |

<Frame caption="Left sidebar showing available field types and e-sign field types">
  <img src="https://mintcdn.com/docsautomator/UNxlW8gqJsW_Ps70/images/pdf-template/field-types-sidebar.png?fit=max&auto=format&n=UNxlW8gqJsW_Ps70&q=85&s=49e52f2f07bd0e7436f4fe49ed0e13b8" alt="Add Field section with Text, Image, Checkbox and Add E-Sign Field section with Signature, Date, Text, Checkbox" width="586" height="726" data-path="images/pdf-template/field-types-sidebar.png" />
</Frame>

### Positioning and Resizing

* **Drag** a placeholder to move it to the desired position on the page
* **Resize** by dragging the handle in the bottom-right corner of a selected placeholder
* **Nudge** with arrow keys for fine adjustments (1 point per press, hold Shift for 10 points)
* **Set exact values** in the Properties panel on the right (X, Y, Width, Height)

<Frame caption="Multiple data fields positioned on a PDF form">
  <img src="https://mintcdn.com/docsautomator/UNxlW8gqJsW_Ps70/images/pdf-template/fields-placed-on-pdf.png?fit=max&auto=format&n=UNxlW8gqJsW_Ps70&q=85&s=8a96c20067bdbeb9774c9036a71724f6" alt="Visual editor showing multiple text fields placed on a PDF enrollment form" width="3104" height="2024" data-path="images/pdf-template/fields-placed-on-pdf.png" />
</Frame>

### Multi-Page Support

The editor displays all pages of your PDF in a scrollable view. Each placeholder is assigned to a specific page. When you drag a field from the sidebar onto a page, it is placed on that page.

### Keyboard Shortcuts

| Shortcut             | Action                                                 |
| -------------------- | ------------------------------------------------------ |
| Arrow keys           | Nudge selected placeholder by 1pt                      |
| Shift + Arrow keys   | Nudge by 10pt                                          |
| Backspace / Delete   | Delete selected placeholder                            |
| Ctrl/Cmd + Z         | Undo                                                   |
| Ctrl/Cmd + Shift + Z | Redo                                                   |
| Ctrl/Cmd + C         | Copy selected placeholder                              |
| Ctrl/Cmd + X         | Cut selected placeholder                               |
| Ctrl/Cmd + V         | Paste copied placeholder (on the last interacted page) |
| Escape               | Deselect (or close editor if nothing selected)         |

### Preview Mode

Toggle the **Preview** button in the toolbar to see a live rendering of your template with sample data filled in. The preview uses the same rendering engine as the final document generation, so what you see is what you get.

You can configure sample data for each placeholder in the Properties panel.

### Zoom Controls

Use the **+** and **-** buttons in the toolbar to zoom in and out (50% to 200%). Click **Fit to width** to automatically scale the PDF to fit the available space.

***

## Placeholder Properties

Select a placeholder to configure its properties in the right panel.

<Frame caption="Properties panel showing field name, sample data, position, size, and font settings">
  <img src="https://mintcdn.com/docsautomator/UNxlW8gqJsW_Ps70/images/pdf-template/field-properties-panel.png?fit=max&auto=format&n=UNxlW8gqJsW_Ps70&q=85&s=26bab3e808375c2a9588fe509e7a645a" alt="Right sidebar properties panel with field configuration options" width="3104" height="2024" data-path="images/pdf-template/field-properties-panel.png" />
</Frame>

### Common Properties (All Types)

| Property             | Description                                       |
| -------------------- | ------------------------------------------------- |
| Name                 | The data field name that maps to your data source |
| Position (X, Y)      | Coordinates on the page (in PDF points)           |
| Size (Width, Height) | Dimensions of the placeholder area                |

### Text Properties

| Property         | Options                                                                                | Default             |
| ---------------- | -------------------------------------------------------------------------------------- | ------------------- |
| Font Size        | 6--72                                                                                  | 11                  |
| Font Family      | Helvetica, Times Roman, Courier, Roboto, Open Sans, Lato, Montserrat, Playfair Display | Helvetica           |
| Font Color       | Any hex color                                                                          | #000000             |
| Text Style       | Bold, Italic, Underline, Strikethrough (combine any)                                   | None                |
| Horizontal Align | Left, Center, Right                                                                    | Left                |
| Vertical Align   | Top, Middle, Bottom                                                                    | Middle              |
| Text Overflow    | Expand horizontally, Expand vertically, Shrink to fit, Truncate                        | Expand horizontally |
| Sample Data      | Text used in preview mode                                                              | --                  |

The **Text Style** toggles apply bold, italic, underline, and strikethrough to the whole field. They can be combined (e.g. bold + underline), work with every font listed above, and apply across all text overflow modes. Styling is available for dynamic text and static text fields, and the live preview reflects it before you generate.

### Text Overflow Modes

| Mode                    | Behavior                                                            |
| ----------------------- | ------------------------------------------------------------------- |
| **Expand horizontally** | Single line, text extends past the box boundary if needed (default) |
| **Expand vertically**   | Text wraps at box width and grows downward for multiple lines       |
| **Shrink to fit**       | Automatically reduces font size until text fits within the box      |
| **Truncate**            | Clips text at box width and adds an ellipsis (...)                  |

<Frame caption="Text Overflow dropdown options">
  <img src="https://mintcdn.com/docsautomator/UNxlW8gqJsW_Ps70/images/pdf-template/text-overflow-options.png?fit=max&auto=format&n=UNxlW8gqJsW_Ps70&q=85&s=15524e9fe9a9bf48ef0cfdecd1745842" alt="Text Overflow dropdown showing Expand horizontally, Expand vertically, Shrink to fit, and Truncate options" width="596" height="296" data-path="images/pdf-template/text-overflow-options.png" />
</Frame>

### Image Properties

Image placeholders automatically scale the source image to fit within the placeholder bounds while maintaining the original aspect ratio. Supports JPG, PNG, and base64-encoded images.

### Static Fields

PDF templates support two static field types that are baked into every generated document, independent of your data source:

* **Static Text** -- Fixed text that appears on every document (e.g. disclaimers, terms, labels). Configure the text value in the properties panel.
* **Static Image** -- Fixed image that appears on every document (e.g. logos, stamps, watermarks). Upload a PNG or JPEG image (up to 5MB) in the properties panel. Images are automatically optimized for fast rendering.

Add static fields from the **Add Static Field** section in the left sidebar. Static fields support the same drag, resize, and positioning controls as regular placeholders.

### Checkbox Properties

| Property        | Options                           | Default      |
| --------------- | --------------------------------- | ------------ |
| Unchecked Style | Show empty square, Show nothing   | Show nothing |
| Sample State    | Checked / Unchecked (for preview) | Checked      |

The checkbox accepts various truthy/falsy values from any data source: booleans, strings like "true"/"false", "yes"/"no", and Airtable/SmartSuite emoji values.

***

## E-Signature Fields on PDFs

PDF templates support e-signature fields that integrate with [DocsAutomator eSign](/features/docsautomator-esign). Unlike Google Doc templates which use text-based syntax (`{{esign.signature_1}}`), PDF templates use visually positioned e-sign fields.

### E-Sign Field Types

| Type      | Description                            | Default Size |
| --------- | -------------------------------------- | ------------ |
| Signature | Signature capture area (draw or touch) | 150 x 50     |
| Date      | Auto-filled date when signed           | 100 x 20     |
| Text      | Text input for the signer              | 150 x 20     |
| Checkbox  | Agreement checkbox                     | 100 x 20     |

Add e-sign fields from the **Add E-Sign Field** section in the left sidebar, then position them on the PDF just like regular placeholders.

### Signer Assignment

Each e-sign field is assigned to a signer by number. The field name includes the signer number (e.g., `esign_signature_1`, `esign_date_2`). Configure signer details (name, email) in the [e-signature output settings](/features/docsautomator-esign).

<Warning>
  At least one **Signature** field is required for e-signing to work. The editor displays a warning if you have other e-sign fields but no signature field.
</Warning>

***

## Data Source Compatibility

PDF templates work with all DocsAutomator data sources:

<CardGroup cols={3}>
  <Card title="Airtable" icon="https://mintcdn.com/docsautomator/RhMPtoP5XSWiJkcL/icons/airtable.png?fit=max&auto=format&n=RhMPtoP5XSWiJkcL&q=85&s=28607b585218f658b9f67bc91126c7d3" href="/integrations-api/airtable" width="513" height="513" data-path="icons/airtable.png" />

  <Card title="Google Sheets" icon="https://mintcdn.com/docsautomator/RhMPtoP5XSWiJkcL/icons/google-sheets.png?fit=max&auto=format&n=RhMPtoP5XSWiJkcL&q=85&s=f6a1f8c32aac71436671f0f8cfd310cb" href="/integrations-api/google-sheets" width="513" height="513" data-path="icons/google-sheets.png" />

  <Card title="SmartSuite" icon="https://mintcdn.com/docsautomator/RhMPtoP5XSWiJkcL/icons/smartsuite.png?fit=max&auto=format&n=RhMPtoP5XSWiJkcL&q=85&s=10dfdb288c33d4dbea8012f4c5f2936c" href="/integrations-api/smartsuite" width="513" height="512" data-path="icons/smartsuite.png" />

  <Card title="ClickUp" icon="https://mintcdn.com/docsautomator/RhMPtoP5XSWiJkcL/icons/clickup.png?fit=max&auto=format&n=RhMPtoP5XSWiJkcL&q=85&s=8a3c31e61295dfb887516c3efb793d63" href="/integrations-api/clickup" width="513" height="513" data-path="icons/clickup.png" />

  <Card title="API" icon="https://mintcdn.com/docsautomator/RhMPtoP5XSWiJkcL/icons/api.png?fit=max&auto=format&n=RhMPtoP5XSWiJkcL&q=85&s=2f0e1eabd2ab8a14abf889932233692c" href="/integrations-api/docsautomator-api" width="513" height="513" data-path="icons/api.png" />

  <Card title="Zapier" icon="https://mintcdn.com/docsautomator/aWJzng63hl4bgVX9/icons/zapier.svg?fit=max&auto=format&n=aWJzng63hl4bgVX9&q=85&s=775e7503baacd3bb0432755fc8fc2d65" href="/integrations-api/zapier" width="250" height="250" data-path="icons/zapier.svg" />

  <Card title="Glide" icon="https://mintcdn.com/docsautomator/RhMPtoP5XSWiJkcL/icons/glide.png?fit=max&auto=format&n=RhMPtoP5XSWiJkcL&q=85&s=81ff59a6e78621d48b7cb9c6f3e0c27f" href="/integrations-api/glide" width="513" height="513" data-path="icons/glide.png" />

  <Card title="n8n" icon="https://mintcdn.com/docsautomator/aWJzng63hl4bgVX9/icons/n8n.svg?fit=max&auto=format&n=aWJzng63hl4bgVX9&q=85&s=14338d858c53c845d1156f6beadc5140" href="/integrations-api/n8n" width="160" height="160" data-path="icons/n8n.svg" />

  <Card title="Make" icon="https://mintcdn.com/docsautomator/aWJzng63hl4bgVX9/icons/make.svg?fit=max&auto=format&n=aWJzng63hl4bgVX9&q=85&s=90b6353f5265ddae61e215dcdf26e730" href="/integrations-api/make" width="24" height="24" data-path="icons/make.svg" />
</CardGroup>

The placeholder **Name** field is what maps to your data source fields. For example, if your Airtable table has a "Company Name" field, set the placeholder name to match the field name configured in your automation's field mapping.

***

## Saving Your Template

Click **Save** in the top navigation bar to persist your placeholder layout. The placeholders and sample data are saved to the automation and will be used during document generation.

***

## Related Pages

<CardGroup cols={2}>
  <Card title="Google Doc Template Guide" icon="file-lines" href="/docsautomator-basics/google-doc-template-guide">
    Alternative template approach using Google Docs
  </Card>

  <Card title="Placeholder Syntax Reference" icon="code" href="/docsautomator-basics/placeholder-syntax-reference">
    Complete reference for all placeholder types
  </Card>

  <Card title="DocsAutomator eSign" icon="signature" href="/features/docsautomator-esign">
    E-signature configuration and workflows
  </Card>

  <Card title="Dynamic Images" icon="image" href="/features/dynamic-images">
    Image insertion and quality settings
  </Card>
</CardGroup>
