Flatten annotations in Flutter
Nutrient Flutter SDK allows you to create a new document with processed (embedded, flattened, removed, or printed) annotations using the processAnnotations(AnnotationType type, AnnotationProcessingMode processingMode, String destinationPath)
function.
Parameters
This guide shows how to use the processAnnotations()
function and its parameters.
Processing mode
Since Nutrient Flutter SDK version 3.12, the processing mode parameter has been changed from a string to an enum type, AnnotationProcessingMode
(opens in a new tab), which specifies how Nutrient should include annotations in the resulting document.
Processing mode | Description |
---|---|
flatten | The annotation will be flattened. Its visual representation is kept intact, but it can no longer be modified. The annotation object is removed from the document. |
remove | The annotation will be removed. |
embed | The annotation will be embedded into the resulting document, allowing it to still be modified. |
print | Processes the document for printing. Flattens annotations that can be printed and removes the remaining ones. |
Annotation type
The AnnotationType
(opens in a new tab) parameter is a string that specifies which annotation types Nutrient should process. See the list of all supported annotation types(opens in a new tab). To process all annotations, including forms, set the value for the annotation type parameter to all
or none
.
Destination path
The destination path parameter is a string that specifies the path where the resultant processed file will be stored. By default, it’ll be stored under the document directory(opens in a new tab).
Make sure you save all annotations before processing the document. For more details, refer to our guide showing how to manually save annotations in a document.
Usage
A typical call of the processAnnotations
function looks like this:
await pdfDocument.processAnnotations(AnnotationType.all, AnnotationProcessingMode.flatten, 'PDFs/export.pdf');