PDF Form Flatten

Flatten a PDF form: bake field values into static content so the result is non-editable

Burns the current appearance of every AcroForm field into static page content, then removes the editable fields. This is the right tool when a form was filled elsewhere (e.g. in a viewer) and you only want to lock it down — no fill data needed. Pure-JS via pdf-lib.

Example Results

2 examples

Lock a filled form for distribution

Flattens a form that was filled in a viewer so the result is non-editable but visually identical.

pdf-form-flatten-example1.pdf View File
View input parameters
{ "pdfFile": "/public/samples/pdf/form-sample-filled.pdf", "updateAppearancesFirst": true, "removeNeedAppearances": true, "keepFormStructure": false }

Flatten without altering appearances

Skips appearance regeneration (faster) when the source already has correct appearance streams.

pdf-form-flatten-example2.pdf View File
View input parameters
{ "pdfFile": "/public/samples/pdf/form-sample-filled.pdf", "updateAppearancesFirst": false, "removeNeedAppearances": true, "keepFormStructure": false }

Click to upload file or drag and drop file here

Maximum file size: 100MB Supported formats: application/pdf

Regenerate appearance streams before flattening so values render correctly

Clear the NeedAppearances flag so viewers don't regenerate appearances

Only update appearances but keep the AcroForm shell (rare)

Key Facts

Category
Documents & PDF
Input Types
file, checkbox
Output Type
file
Sample Coverage
4
API Ready
Yes

Overview

The PDF Form Flatten tool permanently locks interactive form fields in your PDF documents by baking their current values directly into the static page content. This process removes all editable AcroForm fields, ensuring your completed forms cannot be altered or tampered with while preserving their visual appearance.

When to Use

  • When you need to share a completed PDF form and want to prevent recipients from editing or changing the filled-in values.
  • When preparing PDF documents for archiving or legal submission where form fields must be locked and non-interactive.
  • When PDF viewers fail to display form field values consistently and you need to burn the text directly into the page layout.

How It Works

  • Upload your interactive PDF form containing filled AcroForm fields.
  • Choose whether to regenerate appearance streams first to ensure all values render correctly, and decide if you want to clear the NeedAppearances flag.
  • Click the process button to convert the interactive form fields into static vector graphics and text elements.
  • Download the flattened, non-editable PDF file.

Use Cases

Securing signed contracts, invoices, or application forms before sending them to clients or partners.
Standardizing PDF forms for archiving in document management systems that do not support interactive fields.
Fixing rendering issues where filled form data disappears or displays incorrectly in mobile PDF viewers.

Examples

1. Lock a Filled PDF Contract for Distribution

Legal Assistant
Background
A legal assistant has filled out a standard lease agreement PDF form with client details and needs to send it out for final signature without allowing the client to modify the pre-filled terms.
Problem
The interactive form fields remain editable, allowing anyone with a PDF editor to change the contract terms.
How to Use
Upload the filled PDF contract, keep 'Update Appearances First' and 'Remove Need Appearances' checked, and run the tool.
Example Config
{
  "updateAppearancesFirst": true,
  "removeNeedAppearances": true,
  "keepFormStructure": false
}
Outcome
The contract is flattened into a static PDF where all filled text is locked and cannot be edited by the recipient.

2. Flatten Form Fields Without Changing Layout

Document Administrator
Background
An administrator has a batch of pre-rendered PDF forms where the appearance streams are already perfectly formatted by their internal software.
Problem
They need to quickly strip the interactive form layer without triggering a slow appearance regeneration process that might alter custom fonts.
How to Use
Upload the PDF form, uncheck 'Update Appearances First', keep 'Remove Need Appearances' checked, and process the file.
Example Config
{
  "updateAppearancesFirst": false,
  "removeNeedAppearances": true,
  "keepFormStructure": false
}
Outcome
The PDF form is flattened instantly, preserving the original visual layout exactly as it was rendered by the source software.

Try with Samples

pdf, video, file

Related Hubs

FAQ

What does flattening a PDF form mean?

Flattening converts interactive form fields (like text boxes, checkboxes, and dropdowns) into static page elements, making the document non-editable.

Can I edit the form fields again after flattening?

No, flattening permanently removes the interactive AcroForm structure, turning the field values into permanent page content.

Why should I enable 'Update Appearances First'?

This option regenerates the visual appearance of the fields before flattening, ensuring that the text you entered is correctly rendered and visible in the final output.

What is the 'Remove Need Appearances' option?

It clears a flag in the PDF that tells PDF viewers to dynamically generate field appearances, preventing different viewers from altering how your static text looks.

Does this tool require uploading my files to a remote server?

No, the flattening process runs entirely in your web browser using client-side JavaScript, keeping your sensitive document data private.

API Documentation

Request Endpoint

POST /en/api/tools/pdf-form-flatten

Request Parameters

Parameter Name Type Required Description
pdfFile file (Upload required) Yes -
updateAppearancesFirst checkbox No Regenerate appearance streams before flattening so values render correctly
removeNeedAppearances checkbox No Clear the NeedAppearances flag so viewers don't regenerate appearances
keepFormStructure checkbox No Only update appearances but keep the AcroForm shell (rare)

File type parameters need to be uploaded first via POST /upload/pdf-form-flatten to get filePath, then pass filePath to the corresponding file field.

Response Format

{
  "filePath": "/public/processing/randomid.ext",
  "fileName": "output.ext",
  "contentType": "application/octet-stream",
  "size": 1024,
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
File: File

AI MCP Documentation

Add this tool to your MCP server configuration:

{
  "mcpServers": {
    "elysiatools-pdf-form-flatten": {
      "name": "pdf-form-flatten",
      "description": "Flatten a PDF form: bake field values into static content so the result is non-editable",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=pdf-form-flatten",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

You can chain multiple tools, e.g.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, max 20 tools.

Supports URL file links or Base64 encoding for file parameters.

If you encounter any issues, please contact us at [email protected]