Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old


Sets optional flags to control the import of external PDF files.

Component Version macOS Windows Linux Server iOS SDK
DynaPDF 4.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "DynaPDF.SetImportFlags2"; PDF; flags )   More


Parameter Description Example
PDF The PDF reference returned from DynaPDF.New. $pdf
flags The new import flags. 16


Returns OK.


Sets optional flags to control the import of external PDF files.

Flags to pass:
MergeLayers1If set, layers with identical name are merged. If this flag is absent DynaPDF imports such layers separately so that each layer refers still to the pages where it was originally used.
Normalize2Replace LZW compression with Flate, apply limit checks, repair errors if possible
UseProxy4Not meaningful for PDF files which are loaded from a memory buffer. If set, all streams are loaded from the file on demand but they are never hold in memory. This reduces drastically the memory usage and enables the processing of almost arbitrary large PDF files with minimal memory usage. The corresponding PDF file must not be deleted before DynaPDF.CloseFile or DynaPDF.CloseFileEx was called.
NoMetadata8Ignore metadata streams which are attached to fonts, pages, images, and so on.
DuplicateCheck16Perform a duplicate check on color spaces, fonts, images, patterns, and templates when merging PDF files.

See also SetImportFlags2 function in DynaPDF manual.


Activate duplicate check to reduce file size:

MBS("DynaPDF.SetImportFlags2"; $pdf; 16)

Activate normalization, duplicate check and layer merge:

MBS( "DynaPDF.SetImportFlags2"; $pdf; "MergeLayers¶Normalize¶DuplicateCheck" )

Import and Export PDF:

# Start new PDF
Set Variable [$pdf; Value:MBS("DynaPDF.New")]
# set import flags
Set Variable [$r; Value:MBS( "DynaPDF.SetImportFlags"; $pdf; "ImportAll ImportAsPage PrepareForPDFA" )]
Set Variable [$r; Value:MBS( "DynaPDF.SetImportFlags2"; $pdf; "DuplicateCheck" )]
# Import PDF from container
Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; MyTable::InputPDF)]
Set Variable [$r; Value:MBS("DynaPDF.ImportPDFFile"; $pdf; 1)]
# Save back
Set Field [MyTable::OutputPDF; MBS("DynaPDF.Save"; $pdf; "Merged.pdf")]
Set Variable [$r; Value:MBS("DynaPDF.Release"; $pdf)]

See also

Release notes

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 17th July 2022

DynaPDF.SetImportFlags - DynaPDF.SetJPEGQuality