Skip to content
Guides

Flatten Forms

Form flattening refers to the process of converting editable form fields into non-editable, static images, or pure text. When flattening form fields, all editable elements in the entire document (including annotations and forms) undergo flattening. Therefore, form flattening is also referred to as document flattening.

This example shows how to flatten forms:

java
CPDFDocument document = CPDFDocument(context);
document.open(pdfPath);
document.flattenAllPages(CPDFPage.PDFFlattenOption.FLAT_NORMALDISPLAY);
document.saveAs("savePath", isRemoveSecurity);
kotlin
val document = CPDFDocument(context)
document.open(pdfPath)
document.flattenAllPages(CPDFPage.PDFFlattenOption.FLAT_NORMALDISPLAY)
document.saveAs("savePath", isRemoveSecurity)

What is Document Flattening

Document flattening refers to the process of converting editable elements, such as annotations, form fields, or layers, in a PDF document into non-editable, static images, or pure text. The purpose of this process is to lock the final state of the document, eliminating editable elements.

Document flattening is typically applied in the following contexts:

  1. Content Protection: Flattening can be used to protect document content, ensuring that the document remains unaltered during distribution or sharing. This is crucial for maintaining document integrity and confidentiality.

  2. Form Submission: In form processing, flattening can convert user-filled form fields and annotations into static images for easy transmission, archiving, or printing, while preventing modifications to the form content in subsequent stages.

  3. Compatibility and Display: Some PDF readers or browsers may encounter issues with displaying and interacting with PDF documents that contain numerous annotations or layers. Document flattening helps address these compatibility issues, enhancing the visual representation of documents in various environments.

  4. File Size Reduction: Flattened documents typically have reduced file sizes since editable elements are converted into static images or text, eliminating the need to store additional data for editing information.