ExaminerResultsFromStream Method (Stream) |
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
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.
If the document is encrypted,
FromStream will throw an
IncorrectPasswordException.
Examples
The following example examines PDF document. If PDF document is encrypted, a password will be requested
from the user.
ExaminerResults res = null;
using (FileStream stm = File.OpenRead(path))
{
try
{
res = ExaminerResults.FromStream(stm);
}
catch (IncorrectPasswordException)
{
while (true)
{
using (var userSecure = GetPasswordFromUser())
try
{
res = ExaminerResults.FromStream(stm, userSecure, null);
break;
}
catch (IncorrectPasswordException)
{
OnIncorrectUserPassword();
}
}
}
}
Namespace:
Atalasoft.PdfDoc.Examiner
Assembly:
Atalasoft.PdfDoc (in Atalasoft.PdfDoc.dll) Version: 11.4.0.9.0.377 (.NET 4.5.2, x86)
Syntax public static ExaminerResults FromStream(
Stream stm
)
Public Shared Function FromStream (
stm As Stream
) As ExaminerResults
Parameters
- stm
- Type: System.IOStream
The instream.
Return Value
Type:
ExaminerResultsAn instance of ExaminerResults if successfull.
Exceptions See Also