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
, which specifies how Nutrient should include annotations in the resulting document.
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
parameter is a string that specifies which annotation types Nutrient should process. See the list of all supported annotation types. 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.
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');