DynaPDF Manual - Page 68

Previous Page 67   Index   Next Page 69

PDF/A and PDF/AX Compatibility
Page 68 of 839
PDF/A
PDF/A is an ISO standard for long-term preservation. These files are primarily used for
archiving. PDF/A compliant files can contain text, raster images, vector graphics, as well as
annotations, hyperlinks, or bookmarks.
However, PDF/A compliant files must not contain JavaScripts or an Interactive Form. In
addition, all fonts must be embedded and PDF/A compliant files must contain information
describing the printing condition for which they are prepared (see AddRenderingIntent()). The
output intent can be either CMYK or RGB based. However, only one device color space can be
used in a document with the exception that DeviceGray can be combined with RGB or CMYK
color spaces.
When creating PDF/A compatible files with DynaPDF it is important to know that DynaPDF
does not automatically check whether certain features are allowed to use. DynaPDF writes
simply the required PDF/A key to the file which tells the viewer application that the file is
compatible to a specific PDF/A standard. Whether this is true or not depends on whether
prohibited features were used and whether all required information were added to the file, e.g.
the rendering intent.
However, DynaPDF contains the function CheckConformance() to check and convert non-
conformant PDF files to PDF/A 1b. The function was originally developed a very powerful PDF
to PDF/A converter called myPDFConvertby the DETEC GmbH in Germany.
All DynaPDF versions provide a restricted version of CheckConformance() that does not
convert imported PDF files to PDF/A. The conversion of imported PDF files is possible if
DynaPDF was licensed with the PDF/A Extension.
CheckConformance() is a very good helper function to get your PDF file fully PDF/A 1b
compatible. CheckConformance() is not a preflight function, it automatically adjusts anything
that is possible to get the file PDF/A 1b compatible. The function supports a large set of flags to
specify what should be done if prohibited features were found in the file. Take a look into the
function description for further information.
Example (C++):
// Error callback function.
SI32 PDF_CALL PDFError(const void* Data, SI32 ErrCode, const char*
ErrMessage, SI32 ErrType)
{
printf("%s\n", ErrMessage);
// We do not break processing if an error occurs. However, if the
// file was fully created with DynaPDF we should not receive any
// warning or other errors.
return 0;
}
 

Previous topic: PDF/A and PDF/X Compatibility, PDF/X

Next topic: Path Painting and Construction, Nonzero Winding Number Rule

Web links on this page: