Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
DynaPDF.SetImportFlags2
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 |
Parameters
Parameter | Description | Example |
---|---|---|
The PDF reference returned from DynaPDF.New. | ||
flags | The new import flags. | 16 |
Result
Returns OK.
Description
Sets optional flags to control the import of external PDF files.Flags to pass:
MergeLayers | 1 | If 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. |
Normalize | 2 | Replace LZW compression with Flate, apply limit checks, repair errors if possible |
UseProxy | 4 | Not 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. |
NoMetadata | 8 | Ignore metadata streams which are attached to fonts, pages, images, and so on. |
DuplicateCheck | 16 | Perform a duplicate check on color spaces, fonts, images, patterns, and templates when merging PDF files. |
See also SetImportFlags2 function in DynaPDF manual.
Examples
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
- DynaPDF.GetAnnotFlags
- DynaPDF.GetImportFlags
- DynaPDF.GetImportFlags2
- DynaPDF.ImportPDFFile
- DynaPDF.OpenPDFFromContainer
- DynaPDF.Release
- DynaPDF.Save
- DynaPDF.SetAnnotFlags
- DynaPDF.SetAnnotFlagsEx
- DynaPDF.SetUseGlobalImpFiles
Release notes
- Version 13.4
- Added SkipDPartData option for DynaPDF.SetImportFlags2 function.
Blog Entries
This function checks for a license.
Created 18th August 2014, last changed 17th July 2022