The password dictionary can be changed at any time. A password is stored with a key, which is the full path of a document file or, for a document added from a stream or a structure, the document key.
To get the number of passwords in the dictionary, use the Count property.
To get the password for a document from the dictionary, the GetPassword method is used, passing the full path or the key of the document as an argument.
The Clear method is used to remove all passwords from the dictionary.
To check for the presence of a password in the dictionary for the specified document, the Contains method is used.
To add a password to the dictionary, use the Add method. The first parameter is the full path or the key of the document. If the dictionary already contains a password for the document, the method throws ArgumentException; remove the existing password first.
To remove a password from the dictionary, use the Remove method.
To import passwords from a file, use the ImportDictionary method. The imported passwords are added to the dictionary, so the dictionary must not already contain passwords for the same documents; otherwise, the import fails. Errors of exporting and importing are reported by the ErrorOccurred event of the index instead of exceptions.
The following example demonstrates the use of methods of the password dictionary.
C#
stringindexFolder=@"c:\MyIndex\";stringdocumentsFolder=@"c:\MyDocuments\";// Creating or opening an index in the specified folderIndexindex=newIndex(indexFolder);stringpath=Path.GetFullPath(@"c:\MyDocuments\Protected.pdf");if(index.Dictionaries.DocumentPasswords.Contains(path)){// Getting a password for a documentstringpassword=index.Dictionaries.DocumentPasswords.GetPassword(path);Console.WriteLine(path);Console.WriteLine("\tPassword: "+password);// Deleting the password from the dictionaryindex.Dictionaries.DocumentPasswords.Remove(path);}if(index.Dictionaries.DocumentPasswords.Count>0){// Removing all passwords from the dictionaryindex.Dictionaries.DocumentPasswords.Clear();}// Adding a password for a documentindex.Dictionaries.DocumentPasswords.Add(path,"123456");// Exporting passwords to a fileindex.Dictionaries.DocumentPasswords.ExportDictionary(@"c:\Passwords.dat");// Removing all passwords and importing them from the fileindex.Dictionaries.DocumentPasswords.Clear();index.Dictionaries.DocumentPasswords.ImportDictionary(@"c:\Passwords.dat");// Indexing documents; the passwords from the dictionary are used to open protected documentsindex.Add(documentsFolder);
More resources
GitHub examples
You may easily run the code from documentation articles and see the features in action in our GitHub examples: