我试图检查要上传的PDF文档是否具有以下文档属性 - 内容复制&内容使用iTextSharp PDFReader复制允许/不允许的辅助功能。是否有任何属性可以验证此功能。我已粘贴了一个未返回预期结果的示例代码。
使用iTextSharp寻找解决方案
示例代码:
using (PdfReader r = new PdfReader(@"xxx\yyy.pdf"))
{
if (PdfEncryptor.IsScreenReadersAllowed((int)(r.Permissions)))
{
Console.WriteLine("Content Accessibility Enabled");
}
if (PdfEncryptor.IsCopyAllowed((int)(r.Permissions)))
{
Console.WriteLine("Copy Enabled");
}
if (PdfEncryptor.IsAssemblyAllowed((int)(r.Permissions)))
{
Console.WriteLine("Document Assembly Enabled");
}
}
答案 0 :(得分:1)
您检查的Permissions
值仅针对加密的PDF进行初始化。另一方面,您在此处粘贴的示例对话框显示 No Security ,因此您的示例文档未加密。因此,Permissions
值未设置为任何有意义的值。
作为加密过程的一部分,PDF可以获得的限制均不适用于未加密的PDF。因此,您可能希望将测试更新为
if (PdfEncryptor.IsScreenReadersAllowed((int)(r.Permissions)) || !r.IsEncrypted())
{
Console.WriteLine("Content Accessibility Enabled");
}
if (PdfEncryptor.IsCopyAllowed((int)(r.Permissions)) || !r.IsEncrypted())
{
Console.WriteLine("Copy Enabled");
}
if (PdfEncryptor.IsAssemblyAllowed((int)(r.Permissions)) || !r.IsEncrypted())
{
Console.WriteLine("Document Assembly Enabled");
}