我试图发现PDF是否已加密。在上传我们的应用程序生成的文档时,我遇到了问题。对于其他PDF来说效果很好。
我发现发生这种情况是因为我的PDF文件包含正确的加密元数据,即使我的文件没有密码保护。
trailer
<</Size 49
/Root 46 0 R
/Encrypt 47 0 R
/ID [<544779292784d1082d90221fd2118106><544779292784d1082d90221fd2118106>]
/Info 48 0 R
>>
startxref
218840
%%EOF
<<
/Filter/Standard
/R 3 /V 2 /Length 128
/O<0a9c59beafa2ba093c4bace402aae8e14eacb78a9ab178187f5922be0f044f63>
/U<a1b38ac6f6fe4d59b099045b71b52d7328bf4e5e4e758a4164004e56fffa0108>
/P -1852/EncryptMetadata true
>>
有人可以帮助我找到我的PDF文件,但没有密码保护时,该文件是否只是将元数据加密为真。
答案 0 :(得分:0)
您可以使用Aspose.PDF for .NET API区分加密的和受密码保护的PDF文件。 PdfFileInfo
类公开了一些布尔属性,包括IsEncrypted
HasEditPassword
和HasOpenPassword
,可以对其进行检查以达到您的要求。以下是供您参考的代码段:
// Load source PDF file
PdfFileInfo info = new PdfFileInfo();
info.BindPdf(dataDir + "Test.pdf");
if (info.IsEncrypted)
{
// Determine if the source PDF is encrypted
Console.WriteLine("File is encrypted");
}
if (info.HasEditPassword)
{
// Determine if the source PDF has edit password
Console.WriteLine("File has edit password");
}
if (info.HasOpenPassword)
{
// Determine if the source PDF has open password
Console.WriteLine("File has open password");
}
我们希望这会有所帮助。如果您需要任何进一步的帮助,请随时告诉我们。
PS :我和Aspose一起担任开发人员推广人员。