The ExaminerResults type exposes the following members.
Gets the document version advertised by the document. The resulting value is the maximum of the value in the document header and the value in the document catalog. The value will always be for the form major.minor. Currently major is always 1. Note many incorrect documents contain PDF features that are beyond their advertised version.
Gets a list of errors encountered while opening the document. Since only a narrow subset of the document is examined, this list is not guaranteed to be exhaustive.
Gets a value indicating whether the AcroForm in the document uses Adobe's Extensible Form Architecture, XFA.
Gets a value indicating whether the document contains an AcroForm.
Gets a value indicating whether the AcroForm advertises that it contains digital signatures. This does not indicate that the signatures are valid.
Gets a value indicating whether the document has XMP metatdata.
Gets a value indicating whether the document is badly damaged. If, during the process of opening the file, errors were encountered that were of Major severity or worse then IsBadlyDamaged will be set to true. If true, only the properties IsPdf, , and IsEncrypted will be valid. All other values are suspect.
Gets a value indicating whether the document contains encryption. Not all documents that are encrypted require a non-empty password. This property merely indicates that a password might be required to correctly open the document. If FromStream(Stream, String, String) throws an IncorrectPasswordException, then the document requires a non-empty password or the supplied password(s) are incorrect.
Gets a value indicating whether the PDF document's advertised document version is incorrect. Specifically, some PDF document generators use a PDF featured called cross-reference streams that require that the document be version 1.5 or greater. If there is evidence of a cross-reference stream and the version is less than 1.5, this property will true.
Gets a value indicating whether the document is a PDF. This test is more lenient than the specification allows and will return true if the document contains the PDF header including in some pathological cases. If the PDF header meets specification, will return true. If it returns false, the document is well out-of-spec and no other information in ExaminerResults will be valid.
Gets a value indicating whether the document advertises itself as conforming to the PDF/A-1b archival specification. This does not mean that the document in any way complies with the specification, merely that it says it does. For example, if IsPdfA returns true and HasXmp returns false, then the document is NOT a PDF/A compliant document.
Gets a value indicating whether the document contains a PDF Portfolio. This test looks specifically for a Collection object in the document's catalog. A PDF Portfolio is a feature wherein a PDF document doesn't necessarily contain any PDF data at all, but instead contains a series of embedded files which represent the content of the document. Some PDF documents that have a Portfolion include an ersatz page which is shown for compatibility. The presentation of embedded files is application dependent.
Gets a value indicating whether the document contains a valid PDF header. If the document does not meet the PDF specification for a header but still contains the text "%PDF-" this will return false. For example, if the document start with the following:
%!PS-Adobe - this is PostScript not %PDF-1.0
this will be considered to be a PDF, even though it is not within specification (and because it's labeled as PostScript, it will likely generate other errors).
Gets the metadata associated with the PDF document from the DocumentInfo object within the file. This value may be null.
Gets the page count of the document.
Gets a value indicating whether requires dynamic form rendering. Typically, this is set when a document contains an XFA form and has embedded form data that has not yet been converted into PDF content.