Click or drag to resize

ExaminerResultsFromStream Method

Attempts to build an ExaminerResults object from the stream provided. To the greatest extent possible, FromStream attempts to get some information from the file. If the file is a PDF and it is encrypted, FromStream will throw an IncorrectPasswordException.
Note that many of the properties in the file cascade. For example, if IsPdf returns false, no other property will be valid. If IsEncrypted is true, no other properties except IsPdf, IsPdfA, and [P:IsIncorrectVersionForXrefStream] will be valid.
The properties within ExaminerResults are meant to reflect a very lightweight examination of the file and are in no way are exhaustive. PDF is a very complicated file format and there are a number of exceptions in the specification that are counter to the goal of having a light-weight interface to the information within the file. For example, because a PDF file presents information that indicates that it meets the archival variant, PDF/A, this doesn't guarantee that the document meets all requirements. ExaminerResults reflects what is advertised by the file and not necessarily the entire depth of content.
The stream position can not be counted on to be at a consistent location upon return.
The supplied passwords may either or both be null indicating no password. If passwords are supplied and the document is not encrypted, the passwords will be ignored. If the document is encrypted and the password(s) are incorrect or null FromStream will throw an IncorrectPasswordException.
The following example converts the rectangular points of an annotation into document space.
public ExaminerResults ExaminePdf(Stream stm)
    ExaminerResults res = null;
    try {
        res = ExaminerResults.FromStream(stm, null, null);
        return res;
    catch (IncorrectPasswordException) {
        while (true) {
            string password = GetPasswordFromUser();
            if (password == null) return null; // canceled
            try {
                res = ExaminerResults.FromStream(stm, password, null);
                return res;
            catch (IncorrectPasswordException) { }

Namespace:  Atalasoft.PdfDoc.Examiner
Assembly:  Atalasoft.PdfDoc (in Atalasoft.PdfDoc.dll) Version: (.NET 4.5.2, x86)
public static ExaminerResults FromStream(
	Stream stm,
	string userPassword,
	string ownerPassword


Type: System.IOStream
The instream.
Type: SystemString
The user password. Set to null for no password.
Type: SystemString
The owner password. Set to null for no password.

Return Value

Type: ExaminerResults
An instance of ExaminerResults if successfull.
See Also