Xojo Conferences

DynaPDF Manual - Page 174

Previous Page 173   Index   Next Page 175

Function Reference
Page 174 of 766
Annotation replies are still prohibited (see SetAnnotMigrationState() for further
PDF/A files cannot be encrypted. The usage of CloseFileEx() or CloseAndSignFileEx() is not
PDF/A 3b: Embedded files must be associated with a PDF object. See AssociateEmbFile() for
further information.
It is strongly recommended to set the import flag if2UseProxy with SetImportFlags2() to reduce
the memory usage when importing PDF files.
Since DynaPDF must rebuild all content streams of the PDF file the flag coFlushPages can also
be set to reduce the memory usage during conversion. This flag can be set if a PDF file is larger
than 5 or 10 MB for example. For small PDF files the flag should be absent.
If the flag coFlushPages was set then a few objects must be written as indirect references. If you
want a perfectly organized PDF file then import the resuling PDF file again, set the PDF version
to pvPDFA_2b or 3b and save the file. The PDF version must be set because DynaPDF cannot
identify PDF/A files automatically during import since the version is stored in the global XMP
The only difference between PDF/A 3b and ZUGFeRD is that the file must constain an embedded
XML invoice. The file name of this embedded file must be ZUGFeRD-invoice.xml. If this file cannot
be found then a fatal error will be raised and no PDF file will be created.
The embedded file must be associated with the Catalog object and the relationship must be set to
Alternate. If the file was found then the remaining settings will be applied if not already present.
General requirements:
When importing PDF files or pages, the flag ifPrepareForPDFA must be set with
Fonts must be embedded.
Images must not contain an alpha channel (PDF/A 1b only).
The flag gfUseImageColorSpace should be set when inserting images. This flag makes sure
that embedded ICC profiles will be considered. See SetGStateFlags() for further information.
PDF/A 1a files are tagged PDF files. That means the entire PDF file must be tagged and the
file must be created in the logical reading order. CheckConformance() does not validate the
structure tree and it does not check whether untagged elements are used on a page. See
CreateStructureTree(), OpenTag(), and so on for further information.
PDF/A files require an Ouptut Intent. The output intent represents the destination color space
for which the file was created. The output intent must be added after CheckConformance()

Previous topic: PDF/A 2b or 3b

Next topic: Type3 font conversion