#include <PDFACompliance.h>
Public Member Functions | |
PDFACompliance (bool convert, const UString &file_path, const char *password=0, Conformance conf=e_Level1B, ErrorCode *exceptions=0, int num_exceptions=0, int max_ref_objs=10, bool first_stop=false) | |
PDFACompliance (bool convert, const char *buf, size_t buf_size, const char *password=0, Conformance conf=e_Level1B, ErrorCode *exceptions=0, int num_exceptions=0, int max_ref_objs=10, bool first_stop=false) | |
PDFACompliance (bool convert, const unsigned char *buf, size_t buf_size, const char *password=0, Conformance conf=e_Level1B, ErrorCode *exceptions=0, int num_exceptions=0, int max_ref_objs=10, bool first_stop=false) | |
PDFACompliance (bool convert, const UString &file_path, const PDFA::PDFAOptions &in_options) | |
PDFACompliance (bool convert, const char *buf, size_t buf_size, const PDFA::PDFAOptions &in_options) | |
PDFACompliance (bool convert, const unsigned char *buf, size_t buf_size, const PDFA::PDFAOptions &in_options) | |
void | SaveAs (const UString &file_path, bool linearized=false) |
std::vector< unsigned char > | SaveAs (bool linearized=false) |
void | SaveAs (const char *&out_buf, size_t &out_buf_size, bool linearized=false) |
size_t | GetErrorCount () |
PDFACompliance::ErrorCode | GetError (size_t idx) |
size_t | GetRefObjCount (ErrorCode id) |
size_t | GetRefObj (ErrorCode id, size_t err_idx) |
~PDFACompliance () | |
void | Destroy () |
PDFACompliance (TRN_PDFACompliance impl) | |
Static Public Member Functions | |
static const char * | GetPDFAErrorMessage (ErrorCode id) |
static PDFACompliance::Conformance | GetDeclaredConformance (const PDF::PDFDoc &in_doc) |
Public Attributes | |
TRN_PDFACompliance | mp_pdfac |
PDFACompliance class is used to validate PDF documents for PDF/A (ISO 19005:1/2/3) compliance or to convert existing PDF files to PDF/A compliant documents.
The conversion option analyzes the content of existing PDF files and performs a sequence of modifications in order to produce a PDF/A compliant document. Features that are not suitable for long-term archiving (such as encryption, obsolete compression schemes, missing fonts, or device-dependent color) are replaced with their PDF/A compliant equivalents. Because the conversion process applies only necessary changes to the source file, the information loss is minimal. Also, because the converter provides a detailed report for each change, it is simple to inspect changes and to determine whether the conversion loss is acceptable.
The validation option in PDF/A Manager can be used to quickly determine whether a PDF file fully complies with the PDF/A specification according to the international standard ISO 19005:1/2/3. For files that are not compliant, the validation option can be used to produce a detailed report of compliance violations as well as a list of relevant error objects.
Key Functions:
Definition at line 52 of file PDFACompliance.h.
PDF/A Conformance Level (19005:1/2/3).
Level A conforming files must adhere to all of the requirements of ISO 19005. A file meeting this conformance level is said to be a 'conforming PDF/A -1a file.'
Level B conforming files shall adhere to all of the requirements of ISO 19005 except those of 6.3.8 and 6.8. A file meeting this conformance level is said to be a 'conforming PDF/A-1b file'. The Level B conformance requirements are intended to be those minimally necessary to ensure that the rendered visual appearance of a conforming file is preservable over the long term.
Enumerator | |
---|---|
e_NoConformance | |
e_Level1A | |
e_Level1B | |
e_Level2A | |
e_Level2B | |
e_Level2U | |
e_Level3A | |
e_Level3B | |
e_Level3U | |
e_Level4 | |
e_Level4E | |
e_Level4F |
Definition at line 68 of file PDFACompliance.h.
Enumerator | |
---|---|
e_PDFA0_1_0 |
Invalid PDF structure. |
e_PDFA0_1_1 |
Corrupt document. |
e_PDFA0_1_2 |
Corrupt content stream. |
e_PDFA0_1_3 |
Using JPEG2000 compression (PDF 1.4 compatibility). |
e_PDFA0_1_4 |
Contains compressed object streams (PDF 1.4 compatibility). |
e_PDFA0_1_5 |
Contains cross-reference streams (PDF 1.4 compatibility). |
e_PDFA1_2_1 |
Document does not start with % character. |
e_PDFA1_2_2 |
File header line not followed by % and 4 characters > 127. |
e_PDFA1_3_1 |
The trailer dictionary does not contain ID. |
e_PDFA1_3_2 |
Trailer dictionary contains Encrypt. |
e_PDFA1_3_3 |
Data after last EOF marker. |
e_PDFA1_3_4 |
Linearized file: ID in 1st page and last trailer are different. |
e_PDFA1_4_1 |
Subsection header: starting object number and range not separated by a single space. |
e_PDFA1_4_2 |
'xref' and cross reference subsection header not separated by a single EOL marker. |
e_PDFA1_6_1 |
Invalid hexadecimal strings used. |
e_PDFA1_7_1 |
The 'stream' token is not followed by CR and LF or a single LF. |
e_PDFA1_7_2 |
The 'endstream' token is not preceded by EOL. |
e_PDFA1_7_3 |
The value of Length does not match the number of bytes. |
e_PDFA1_7_4 |
A stream object dictionary contains the F, FFilter, or FDecodeParms keys. |
e_PDFA1_8_1 |
Object number and generation number are not separated by a single white-space. |
e_PDFA1_8_2 |
Generation number and 'obj' are not separated by a single white-space. |
e_PDFA1_8_3 |
Object number not preceded by EOL marker. |
e_PDFA1_8_4 |
'endobj' not preceded by EOL marker |
e_PDFA1_8_5 |
'obj' not followed by EOL marker |
e_PDFA1_8_6 |
'endobj' not followed by EOL marker |
e_PDFA1_8_7 |
Invalid UTF8 string. |
e_PDFA1_10_1 |
Using LZW compression. |
e_PDFA1_11_1 |
A file specification dictionary contains a non-compliant embedded file (EF key). |
e_PDFA1_11_2 |
Contains the EmbeddedFiles key. |
e_PDFA1_12_1 |
Array contains more than 8191 elements. |
e_PDFA1_12_2 |
Dictionary contains more than 4095 elements. |
e_PDFA1_12_3 |
Name with more than 127 bytes. |
e_PDFA1_12_4 |
Contains an integer value outside of the allowed range [-2^31, 2^31-1],. |
e_PDFA1_12_5 |
Exceeds the maximum number (8,388,607) of indirect objects in a PDF file. |
e_PDFA1_12_6 |
The number of nested q/Q operators is greater than 28. |
e_PDFA1_13_1 |
Optional content (layers) not allowed. |
e_PDFA2_2_1 |
DestOutputProfile-s in OutputIntents array do not match. |
e_PDFA2_3_2 |
Not a valid ICC color profile. |
e_PDFA2_3_3 |
The N entry does not match the number of color components in the embedded ICC profile. |
e_PDFA2_3_3_1 |
Device-specific color space used, but no GTS_PDFA1 OutputIntent. |
e_PDFA2_3_3_2 |
Device-specific color space, does not match OutputIntent. |
e_PDFA2_3_4_1 |
Device-specific color space used in an alternate color space. |
e_PDFA2_4_1 |
Image with Alternates key. |
e_PDFA2_4_2 |
Image with OPI key. |
e_PDFA2_4_3 |
Image with invalid rendering intent. |
e_PDFA2_4_4 |
Image with Interpolate key set to true. |
e_PDFA2_5_1 |
XObject with OPI key. |
e_PDFA2_5_2 |
PostScript XObject. |
e_PDFA2_6_1 |
Contains a reference XObject. |
e_PDFA2_7_1 |
Contains an XObject that is not supported (e.g. PostScript XObject). |
e_PDFA2_8_1 |
Contains an invalid Transfer Curve in the extended graphics state. |
e_PDFA2_9_1 |
Use of an invalid rendering intent. |
e_PDFA2_10_1 |
Illegal operator. |
e_PDFA3_2_1 |
Embedded font is damaged. |
e_PDFA3_3_1 |
Incompatible CIDSystemInfo entries. |
e_PDFA3_3_2 |
Type 2 CIDFont without CIDToGIDMap. |
e_PDFA3_3_3_1 |
CMap not embedded. |
e_PDFA3_3_3_2 |
Inconsistent WMode in embedded CMap dictionary and stream. |
e_PDFA3_4_1 |
The font is not embedded. |
e_PDFA3_5_1 |
Embedded composite (Type0) font program does not define all font glyphs. |
e_PDFA3_5_2 |
Embedded Type1 font program does not define all font glyphs. |
e_PDFA3_5_3 |
Embedded TrueType font program does not define all font glyphs. |
e_PDFA3_5_4 |
The font descriptor dictionary does not include a CIDSet stream for CIDFont subset. |
e_PDFA3_5_5 |
The font descriptor dictionary does not include a CharSet string for Type1 font subset. |
e_PDFA3_5_6 |
CIDSet in subset font is incomplete. |
e_PDFA3_6_1 |
Widths in embedded font are inconsistent with /Widths entry in the font dictionary. |
e_PDFA3_7_1 |
A non-symbolic TrueType font must use WinAnsiEncoding or MacRomanEncoding. |
e_PDFA3_7_2 |
A symbolic TrueType font must not specify encoding. |
e_PDFA3_7_3 |
A symbolic TrueType font does not have exactly one entry in cmap table. |
e_PDFA4_1 |
Transparency used (ExtGState with soft mask). |
e_PDFA4_2 |
Transparency used (XObject with soft mask). |
e_PDFA4_3 |
Transparency used (Page or Form XObject with transparency group). |
e_PDFA4_4 |
Transparency used (Blend mode is not 'Normal'). |
e_PDFA4_5 |
Transparency used ('CA' value is not 1.0). |
e_PDFA4_6 |
Transparency used ('ca' value is not 1.0). |
e_PDFA5_2_1 |
Unknown annotation type. |
e_PDFA5_2_2 |
FileAttachment annotation is not permitted. |
e_PDFA5_2_3 |
Sound annotation is not permitted. |
e_PDFA5_2_4 |
Movie annotation is not permitted. |
e_PDFA5_2_5 |
Redact annotation is not permitted. |
e_PDFA5_2_6 |
3D annotation is not permitted. |
e_PDFA5_2_7 |
Caret annotation is not permitted. |
e_PDFA5_2_8 |
Watermark annotation is not permitted. |
e_PDFA5_2_9 |
Polygon annotation is not permitted. |
e_PDFA5_2_10 |
PolyLine annotation is not permitted. |
e_PDFA5_2_11 |
Screen annotation is not permitted. |
e_PDFA5_3_1 |
An annotation dictionary contains the CA key with a value other than 1.0. |
e_PDFA5_3_2_1 |
An annotation dictionary is missing F key. |
e_PDFA5_3_2_2 |
An annotation's 'Print' flag is not set. |
e_PDFA5_3_2_3 |
An annotation's 'Hidden' flag is set. |
e_PDFA5_3_2_4 |
An annotation's 'Invisible' flag is set. |
e_PDFA5_3_2_5 |
An annotation's 'NoView' flag is set. |
e_PDFA5_3_3_1 |
An annotation's C entry present but no OutputIntent present. |
e_PDFA5_3_3_2 |
An annotation's C entry present but OutputIntent has non-RGB destination profile. |
e_PDFA5_3_3_3 |
An annotation's IC entry present but no OutputIntent present. |
e_PDFA5_3_3_4 |
An annotation's IC entry present and OutputIntent has non-RGB destination profile. |
e_PDFA5_3_4_0 |
Annotation is missing AP entry. |
e_PDFA5_3_4_1 |
An annotation AP dictionary has entries other than the N entry. |
e_PDFA5_3_4_2 |
An annotation AP dictionary does not contain N entry. |
e_PDFA5_3_4_3 |
AP has an N entry whose value is invalid. |
e_PDFA6_1_1 |
Contains an action type that is not permitted. |
e_PDFA6_1_2 |
Contains a non-predefined Named action. |
e_PDFA6_2_1 |
The document catalog dictionary contains AA entry. |
e_PDFA6_2_2 |
Contains the JavaScript key. |
e_PDFA6_2_3 |
Invalid destination. |
e_PDFA7_2_1 |
The document catalog does not contain Metadata stream. |
e_PDFA7_2_2 |
The Metadata object stream contains Filter key. |
e_PDFA7_2_3 |
The XMP Metadata stream is not valid. |
e_PDFA7_2_4 |
XMP property not predefined and no extension schema present. |
e_PDFA7_2_5 |
XMP not included in 'xpacket'. |
e_PDFA7_3_1 |
Document information entry 'Title' not synchronized with XMP. |
e_PDFA7_3_2 |
Document information entry 'Author' not synchronized with XMP. |
e_PDFA7_3_3 |
Document information entry 'Subject' not synchronized with XMP. |
e_PDFA7_3_4 |
Document information entry 'Keywords' not synchronized with XMP. |
e_PDFA7_3_5 |
Document information entry 'Creator' not synchronized with XMP. |
e_PDFA7_3_6 |
Document information entry 'Producer' not synchronized with XMP. |
e_PDFA7_3_7 |
Document information entry 'CreationDate' not synchronized with XMP. |
e_PDFA7_3_8 |
Document information entry 'ModDate' not synchronized with XMP. |
e_PDFA7_3_9 |
Wrong value type for predefined XMP property. |
e_PDFA7_5_1 |
'bytes' and 'encoding' attributes are allowed in the header of an XMP packet. |
e_PDFA7_8_1 |
XMP Extension schema doesn't have a description. |
e_PDFA7_8_2 |
XMP Extension schema is not valid. Required property 'namespaceURI' might be missing in PDF/A Schema value Type. |
e_PDFA7_8_3 |
'pdfaExtension:schemas' not found. |
e_PDFA7_8_4 |
'pdfaExtension:schemas' is using a wrong value type. |
e_PDFA7_8_5 |
'pdfaExtension:property' not found. |
e_PDFA7_8_6 |
'pdfaExtension:property' is using a wrong value type. |
e_PDFA7_8_7 |
'pdfaProperty:name' not found. |
e_PDFA7_8_8 |
'pdfaProperty:name' is using a wrong value type. |
e_PDFA7_8_9 |
A description for a property is missing in 'pdfaSchema:property' sequence. |
e_PDFA7_8_10 |
'pdfaProperty:valueType' not found. |
e_PDFA7_8_11 |
The required namespace prefix for extension schema is 'pdfaExtension'. |
e_PDFA7_8_12 |
The required field namespace prefix is 'pdfaSchema'. |
e_PDFA7_8_13 |
The required field namespace prefix is 'pdfaProperty'. |
e_PDFA7_8_14 |
The required field namespace prefix is 'pdfaType'. |
e_PDFA7_8_15 |
The required field namespace prefix is 'pdfaField'. |
e_PDFA7_8_16 |
'pdfaSchema:valueType' not found. |
e_PDFA7_8_17 |
'pdfaSchema:valueType' is using a wrong value type. |
e_PDFA7_8_18 |
Required property 'valueType' missing in PDF/A Schema Value Type. |
e_PDFA7_8_19 |
'pdfaType:type' not found. |
e_PDFA7_8_20 |
'pdfaType:type' is using a wrong value type. |
e_PDFA7_8_21 |
'pdfaType:description' not found. |
e_PDFA7_8_22 |
'pdfaType:namespaceURI' not found. |
e_PDFA7_8_23 |
'pdfaType:field' is using a wrong value type. |
e_PDFA7_8_24 |
'pdfaField:name' not found. |
e_PDFA7_8_25 |
'pdfaField:name' is using a wrong value type. |
e_PDFA7_8_26 |
'pdfaField:valueType' not found. |
e_PDFA7_8_27 |
'pdfaField:valueType' is using a wrong type. |
e_PDFA7_8_28 |
'pdfaField:description' not found. |
e_PDFA7_8_29 |
'pdfaField:description' is using a wrong type. |
e_PDFA7_8_30 |
Required description for 'pdfaField::valueType' is missing. |
e_PDFA7_8_31 |
A property doesn't match its custom schema type. |
e_PDFA7_11_1 |
Missing PDF/A identifier. |
e_PDFA7_11_2 |
Invalid PDF/A identifier namespace. |
e_PDFA7_11_3 |
Invalid PDF/A conformance level. |
e_PDFA7_11_4 |
Invalid PDF/A part number. |
e_PDFA7_11_5 |
Invalid PDF/A amendment identifier. |
e_PDFA9_1 |
An interactive form field contains an action. |
e_PDFA9_2 |
The NeedAppearances flag in the interactive form dictionary is set to true. |
e_PDFA9_3 |
AcroForms contains XFA. |
e_PDFA9_4 |
Catalog contains NeedsRendering. |
e_PDFA3_8_1 |
The font dictionary is missing 'ToUnicode' entry. |
e_PDFA8_2_2 | |
e_PDFA8_3_3_1 |
Bad StructTreeRoot. |
e_PDFA8_3_3_2 |
Each structure element dictionary in the structure hierarchy must have a Type entry with the name value of StructElem. |
e_PDFA8_3_4_1 |
A non-standard structure type does not map to a standard type. |
e_PDFA1_2_3 |
Bad file header. |
e_PDFA1_10_2 |
Invalid use of Crypt filter. |
e_PDFA1_10_3 |
Bad stream Filter. |
e_PDFA1_12_10 |
Bad Permission Dictionary. |
e_PDFA1_13_5 |
Page dimensions are outside of the allowed range (3-14400). |
e_PDFA2_3_10 |
Contains DestOutputProfileRef. |
e_PDFA2_4_2_10 |
OPM is 1. |
e_PDFA2_4_2_11 |
Incorrect colorant specification in DeviceN. |
e_PDFA2_4_2_12 |
tintTransform is different in Separations with the same colorant name. |
e_PDFA2_4_2_13 |
alternateSpace is different in Separations with the same colorant name. |
e_PDFA2_5_10 |
HTP entry in ExtGState. |
e_PDFA2_5_11 |
Unsupported HalftoneType. |
e_PDFA2_5_12 |
Uses HalftoneName key. |
e_PDFA2_8_3_1 |
JPEG2000: Only the JPX baseline is supported. |
e_PDFA2_8_3_2 |
JPEG2000: Invalid number of colour channels. |
e_PDFA2_8_3_3 |
JPEG2000: Invalid color space. |
e_PDFA2_8_3_4 |
JPEG2000: The bit-depth JPEG2000 data must be in range 1-38. |
e_PDFA2_8_3_5 |
JPEG2000: All colour channels in the JPEG2000 data must have the same bit-depth. |
e_PDFA2_10_20 |
Page Group entry is missing in a document without OutputIntent. |
e_PDFA2_10_21 |
Invalid blend mode. |
e_PDFA11_0_0 |
Catalog contains Requirements key. |
e_PDFA6_10_0 |
PresSteps is not allowed. |
e_PDFA6_10_1 |
AlternatePresentations not allowed. |
e_PDFA6_2_11_5 |
Some characters map to 0 or FFFE. |
e_PDFA6_2_11_6 |
Some text can't be mapped to Unicode. |
e_PDFA6_2_11_7 |
PUA characters are missing ActualText. |
e_PDFA6_2_11_8 |
Use of .notdef glyph. |
e_PDFA6_9_1 |
Optional content Missing Name entry. |
e_PDFA6_9_3 |
Optional content Contains AS entry. |
e_PDFA8_1 |
FileSpec is missing F or UF key. |
e_PDFA_3E1 |
Embedded file has no MIME type entry. |
e_PDFA_3E1_1 |
Embedded file Params has no ModDate entry. |
e_PDFA_3E2 |
Embedded file has no AFRelationship. |
e_PDFA_3E3 |
Doc catalog is missing AF entry. |
e_PDFA_4_6_1_3_4 |
The Info key shall not be present in the trailer dictionary unless there exists a PieceInfo entry in the document catalog dictionary. |
e_PDFA_4_6_1_3_5 |
If a document information dictionary is present, it shall only contain a ModDate entry. |
e_PDFA_4_6_1_6_1_3 |
3D stream shall have a Subtype entry with a value which is either U3D or PRC. |
e_PDFA_4_6_7_3_5 |
Invalid PDF/A revision. |
e_PDFA_4_6_2_5_3 |
HTO entry in ExtGState. |
e_PDFA_4_6_6_3_1 |
A document catalog or a page dictionary contains an AA entry and its value contains key(s) not from the following list: E, X, D, U, Fo and Bl. |
e_PDFA_4_6_1_12_1 |
If the Version key is present in the document catalog dictionary, the first character in its value shall be a 2 (32h) and the second character of its value shall be a PERIOD (2Eh) (decimal point). The third character shall be a decimal digit. The number of characters of the value of the Version key shall be exactly 3. |
e_PDFA_4_6_2_4_2_3 |
An ICCBased CMYK color space is identical to the current PDF/A OutputIntent color profile or the current transparency blending color space. |
e_PDFA_4_6_2_2_3 |
A content stream's named resource not defined by a resource dictionary. |
e_PDFA_4_6_9_5 |
Doc catalog is missing EmbeddedFiles key. |
e_PDFA_4_6_2_10_6_1 |
For all non-symbolic TrueType fonts used for rendering, the embedded TrueType font program shall contain at least Microsoft Unicode (3,1 - Platform ID=3, Encoding ID=1), or Macintosh Roman (1,0 - Platform ID=1, Encoding ID=0) 'cmap' subtable that all necessary glyph lookups are able to be carried out. |
e_PDFA_4_6_2_10_6_4 |
Symbolic TrueType fonts shall not contain an Encoding entry in the font dictionary, and the 'cmap' subtable in the embedded font program shall either contain the Microsoft Symbol (3,0 - Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 - Platform ID=1, Encoding ID=0) encoding. |
e_PDFA_LAST |
Definition at line 84 of file PDFACompliance.h.
pdftron::PDF::PDFA::PDFACompliance::PDFACompliance | ( | bool | convert, |
const UString & | file_path, | ||
const char * | password = 0 , |
||
Conformance | conf = e_Level1B , |
||
ErrorCode * | exceptions = 0 , |
||
int | num_exceptions = 0 , |
||
int | max_ref_objs = 10 , |
||
bool | first_stop = false |
||
) |
Perform PDF/A validation or PDF/A conversion on the input PDF document.
convert | A flag used to instruct PDF/A processor to perform PDF/A conversion (if 'true') or PDF/A validation (if 'false'). After PDF/A conversion you can save the resulting document using SaveAs() method(s). |
file_path | - pathname to the file. |
password | An optional parameter that can be used to specify the password for encrypted PDF documents (typically only useful in the conversion mode). |
conf | The PDF conformance level. The default value is e_Level1B. |
max_ref_objs | The maximum number of object references per error condition. |
Throws an exception if the file can't be opened. |
pdftron::PDF::PDFA::PDFACompliance::PDFACompliance | ( | bool | convert, |
const char * | buf, | ||
size_t | buf_size, | ||
const char * | password = 0 , |
||
Conformance | conf = e_Level1B , |
||
ErrorCode * | exceptions = 0 , |
||
int | num_exceptions = 0 , |
||
int | max_ref_objs = 10 , |
||
bool | first_stop = false |
||
) |
Perform PDF/A validation or PDF/A conversion on the input PDF document which is stored in a memory buffer.
convert | A flag used to instruct PDF/A processor to perform PDF/A conversion (if 'true') or PDF/A validation (if 'false'). After PDF/A conversion you can save the resulting document using SaveAs() method(s). |
buf | A memory buffer containing the serialized PDF document. |
buf_size | The size of memory buffer. |
password | An optional parameter that can be used to specify the password for encrypted PDF documents (typically only useful in the conversion mode). |
conf | The PDF conformance level. The default value is e_Level1B. |
max_ref_objs | The maximum number of object references per error condition. |
Throws an exception if the file can't be opened. |
pdftron::PDF::PDFA::PDFACompliance::PDFACompliance | ( | bool | convert, |
const unsigned char * | buf, | ||
size_t | buf_size, | ||
const char * | password = 0 , |
||
Conformance | conf = e_Level1B , |
||
ErrorCode * | exceptions = 0 , |
||
int | num_exceptions = 0 , |
||
int | max_ref_objs = 10 , |
||
bool | first_stop = false |
||
) |
pdftron::PDF::PDFA::PDFACompliance::PDFACompliance | ( | bool | convert, |
const UString & | file_path, | ||
const PDFA::PDFAOptions & | in_options | ||
) |
Perform PDF/A validation or PDF/A conversion on the input PDF document.
convert | A flag used to instruct PDF/A processor to perform PDF/A conversion (if 'true') or PDF/A validation (if 'false'). After PDF/A conversion you can save the resulting document using SaveAs() method(s). |
file_path | - pathname to the file. |
in_options | Options for PDFA processing |
Throws an exception if the file can't be opened. |
pdftron::PDF::PDFA::PDFACompliance::PDFACompliance | ( | bool | convert, |
const char * | buf, | ||
size_t | buf_size, | ||
const PDFA::PDFAOptions & | in_options | ||
) |
Perform PDF/A validation or PDF/A conversion on the input PDF document which is stored in a memory buffer.
convert | A flag used to instruct PDF/A processor to perform PDF/A conversion (if 'true') or PDF/A validation (if 'false'). After PDF/A conversion you can save the resulting document using SaveAs() method(s). |
buf | A memory buffer containing the serialized PDF document. |
buf_size | The size of memory buffer. |
in_options | Options for PDFA processing |
Throws an exception if the file can't be opened. |
pdftron::PDF::PDFA::PDFACompliance::PDFACompliance | ( | bool | convert, |
const unsigned char * | buf, | ||
size_t | buf_size, | ||
const PDFA::PDFAOptions & | in_options | ||
) |
pdftron::PDF::PDFA::PDFACompliance::~PDFACompliance | ( | ) |
Destructor
|
inline |
Definition at line 470 of file PDFACompliance.h.
void pdftron::PDF::PDFA::PDFACompliance::Destroy | ( | ) |
Frees the native memory of the object.
|
static |
Retrieves whether document's XMP metadata claims PDF/A conformance and to what part and level.
in_doc | the document |
PDFACompliance::ErrorCode pdftron::PDF::PDFA::PDFACompliance::GetError | ( | size_t | idx | ) |
idx | The index in the array of error code identifiers. The array is indexed starting from zero. |
throws | an Exception if the index is outside the array bounds. |
size_t pdftron::PDF::PDFA::PDFACompliance::GetErrorCount | ( | ) |
|
static |
id | error code identifier (obtained using GetError() method). |
size_t pdftron::PDF::PDFA::PDFACompliance::GetRefObj | ( | ErrorCode | id, |
size_t | err_idx | ||
) |
id | error code identifier (obtained using GetError() method). |
err_idx | The index in the array of object references. The array is indexed starting from zero. |
throws | an Exception if the index is outside the array bounds. |
size_t pdftron::PDF::PDFA::PDFACompliance::GetRefObjCount | ( | ErrorCode | id | ) |
id | error code identifier (obtained using GetError() method). |
void pdftron::PDF::PDFA::PDFACompliance::SaveAs | ( | const UString & | file_path, |
bool | linearized = false |
||
) |
Serializes the converted PDF/A document to a file on disk.
file_path | - the output file name. |
linearized | - An optional flag used to specify whether the resulting PDF/A document should be web-optimized (linearized). |
std::vector<unsigned char> pdftron::PDF::PDFA::PDFACompliance::SaveAs | ( | bool | linearized = false | ) |
Serializes the converted PDF/A document to a memory buffer.
linearized | - An optional flag used to specify whether the resulting PDF/A document should be web-optimized (linearized). |
void pdftron::PDF::PDFA::PDFACompliance::SaveAs | ( | const char *& | out_buf, |
size_t & | out_buf_size, | ||
bool | linearized = false |
||
) |
Serializes the converted PDF/A document to a memory buffer.
out_buf | a pointer to the buffer containing the serialized version of the document. (C++ Note) The buffer is owned by a PDFACompliance class and the client doesn't need to do any initialization or cleanup. |
out_buf_size | the size of the serialized document (i.e. out_buf) in bytes. |
linearized | - An optional flag used to specify whether the resulting PDF/A document should be web-optimized (linearized). |
TRN_PDFACompliance pdftron::PDF::PDFA::PDFACompliance::mp_pdfac |
Definition at line 471 of file PDFACompliance.h.