# SaveFlags Enum

> Enumeration SaveFlags.

- Product: Adobe PDF Library 21
- Language: Java
- Version: APDFL21.0.0PlusP1f
- HTML page: https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1f/enum/SaveFlags
- Version index: https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1f/llms.txt

**Namespace:** `com::datalogics::PDFL`

## Values

- `ADD_BROTLI`: Encode any uncompressed stream with the Brotli filter. Only valid with Full. Ignored if AddFlate is also set, which takes precedence. Brotli is a PDF 2.0 extension (IETF RFC 7932) rather than part of ISO 32000-2:2020, so PDF readers that do not implement it cannot decode the affected streams.
- `ADD_FLATE`: Encode any uncompressed stream witht the Flate filter. Only valid with Full.
- `AUTO_SAVE`: Deprecated.
- `CLOSE_AFTER_SAVE`: Close document after save. Use this flag for saving to the stream only. Note that using this flag to save a document to any destination other than stream causes an exception.
- `COLLECT_GARBAGE`: Collect Garbage by removing unreferenced objects. Only valid with Full.
- `COMPRESS_STRUCTURE_ONLY`: Use object compression only for Logical Structure items. Only valid with Full.
- `COMPRESSED`: Use object compression wherever possible. Only valid with Full.
- `COPY`: Saves a copy of the document. Used with Incremental to create a new file from a binary copy of the input document.
- `DO_NOT_CREATE_TO_UNICODE_WIDTHS`: Don't create /ToUnicode and /Widths entries for Fonts to improve performance.
- `ENSURE_7BIT_ASCII`: Deprecated.
- `FULL`: Save the entire document.
- `INCREMENTAL`: Incremental save only write objects that have changed after the end of the document rather than disturbing unchanged items. Use with Copy to create a new file which incorporates a copy of the input file before making changes. This flag can be useful when making changes to signed documents, as it preserves the validity of any existing signatures.
- `KEEP_MOD_DATE`: Do not update the Modification Date
- `LINEARIZED`: Save in a format that is suitable for remote (network) access, Linearized is sometimes referred to as Web Optimized because of its goal of minimizing the perception of poor performance due to the number of pages in a document. This inherently uses OptimizeFonts, for documents with a large number of fonts, font optimization can have poor performance, see SaveLinearizedNoOptimizeFonts as an alternative.
- `OPTIMIZE_CONTENT_STREAMS`: Optimize Content Streams operators where possible.
- `OPTIMIZE_FONTS`: Merge Font Descriptors and encoding where possible. For documents with a large number of fonts, font optimization can have poor performance, this should only be set if necessary.
- `OPTIMIZE_MARKED_JBIG_2DICTIONARIES`: Delete symbols specific to JBIG2 Dictionaries that couldn't be removed previously.
- `OPTIMIZE_XOBJECTS`: Merge identical XObjects.
- `REMOVE_ASCIIFILTERS`: Remove the ASCII85 filter from all streams where its in use. Only valid with Full.
- `REPLACE_LZW`: Replace any LZW encoded stream with Flate, or with Brotli when AddBrotli is also set. Only valid with Full.
- `SAVE_LINEARIZED_NO_OPTIMIZE_FONTS`: Save the document as Linearized the same as Linearized but OptimizeFonts is disabled. For documents with a large number of fonts, font optimization can have poor performance and is often unnecessary.
- `SAVE_ORIGINAL_METADATA`: Save original /Metadata stream of input as /Metadata stream of output document.
- `UNCOMPRESSED`: Do not use object stream compression. Only valid with Full.
- `XMPPACKET_READ_ONLY_NO_PADDING`: Save XMP data as read-only without padding
