Some documents formats such as PDF, support optional encryption and require being decrypted with a password before they can be used.
When using the DocumentFactory to load such documents, a Document object is created and returned as usual. However it will be encrypted and unusable till the correct password is applied to decrypt it. Unusable means only the information properties of the document are available (such as its DocumentId, DocumentType and MimeType), but the Pages collection will be empty and cannot interact with the document by getting any more information from it.
Two ways to pass the password phrase used to decrypt a document:
Setting the password in the LoadDocumentOptions.Password property. This is the easiest way but requires the correct password to be available before the document is loaded. If the document is in a remote location and is loaded using DocumentFactory.LoadFromUri, then it will be downloaded to the cache or a temporary file before having the password applied.
If the password is wrong, an exception will be thrown and the document will be deleted.
Retrying with another password requires the application to call DocumentFactory.LoadFromUri again and repeating the whole process which is non-optimal solution.
Calling the DocumentFactory.LoadFromUri with LoadDocumentOptions.Password is set to null. A Document will be returned with the following property values:
Document.IsEncrypted is set to true (it is encrypted).Document.IsDecrypted is set to false (it has not been decrypted).
The application can check for this value and then prompt the user for the password phrase, it can then call Document.Decrypt with the password as many times as needed while checking the Document.IsDecrypted property. When this property becomes true, it means the correct password was applied and the document is unlocked and ready to use.
For an example, refer to Document.IsEncrypted
Loading Using LEADTOOLS Documents Library
Creating Documents with LEADTOOLS Documents Library
Uploading Using the Documents Library
Documents Library Coordinate System
Parsing Text with the Documents Library
Barcode processing with the Documents Library
Products |
Support |
Feedback: Loading Encrypted Files Using the Documents Library |
Introduction |
Help Version 19.0.2017.6.21
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.