有些文档文件类型(如PDF)支持可选加密,在使用它们之前需要使用密码进行解密。PDF就是这种文档的一个例子。
当您使用LoadFromUri或LoadFromCache方法来加载这些文档LEADDocument对象像往常一样创建并返回。但是,在应用正确的密码对其进行解密之前,它将被加密并不可用。不可用意味着只有文档的信息属性是可用的(例如它的DocumentId而且MimeType),但页面集合将为空,您无法通过从中获取更多信息与文档进行交互。
有两种方式传递用于解密此文档的密码短语:
设置密码密码财产。这是最简单的方法,但需要在加载文档之前提供正确的密码。如果文档位于远程位置(不在缓存中),并且使用LoadFromUri,然后在应用密码之前,它将被下载到缓存或临时文件中。如果密码错误,则会抛出异常并删除文档。使用另一个密码重新尝试需要应用程序调用LoadFromUri再次重复整个过程,在这种情况下这不是一个好的解决方案。
在将文档添加到缓存之前,不要设置密码,而是保持原样密码作为零.这将返回一个LEADDocument一如既往,但会有IsEncrypted值设置为真正的(它是加密的)和IsDecrypted值设置为假(尚未解密)。
用户应用程序可以检查这个值,然后提示用户输入密码短语。然后它可以调用解密根据需要多次输入密码,例如在失败前输入3次,同时检查IsDecrypted财产。当此属性为true时,意味着应用了正确的密码,文档已解锁并可以使用。
有关示例,请参见IsEncrypted