1. Home
  2. Foxit Quick PDF Library
  3. Code to check PDFs for security settings

Code to check PDFs for security settings

The AnalyseFile function can be used to check a PDF for security settings. If the PDF has an open password then this password will need to be passed to the AnalyseFile function before you can check the permissions for the PDF.

private void btnAnalyseFile_Click(object sender, EventArgs e)
{
string[] item1 = { "Filename", "Filesize", "Author", "Title", "Subject", "Keywords",
"Creator", "Producer", "PDFVersion", "PageCount", "CreationDate", 
"ModificationDate", "DocumentID", "PasswordType", "UsageRights", 
"UsageRightsSignature" }; 
 
string[] item2 = { "Security Method", "User Password", "Master Password", "Printing", "Changing the Document", 
"Content Copying or Extraction", "Authoring Comments and Form Fields", "Form Field Fill-in or Signing", 
"Content Accessibility Enabled", "Document Assembly", "Encryption Level" }; 
 
string[] result = { "None", "Adobe Standard Security", "No", "Yes", "Fully Allowed", "Not Allowed", "Allowed", 
"40-bit RC4 (Acrobat 3.x, 4.x)", "128-bit RC4 (Acrobat 5.x)", "Unknown", "Low resolution", 
"Blank", "128-bit AES (Acrobat 7.x)" }; 
 
string s; 
int ret; 
 
//////////////////////////// 
 
if (openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
string msg = "Results from Ananysis()\n"; 
 
int aid = DPL.AnalyseFile(openFileDialog1.FileName, ""); 
 
for (int i = 0; i <= 15; i++) 
{ 
string s1 = DPL.GetAnalysisInfo(aid, i); 
msg += String.Format("[{0}]{1} = {2}\n", i, item1[i], s1); 
} 
 
for (int i = 0; i <= 10; i++) 
{ 
string s1 = DPL.GetAnalysisInfo(aid, i + 20); 
msg += String.Format("[{0}]{1} = [{2}]{3}\n", i, item2[i], s1, result[int.Parse(s1)]); 
} 
DPL.DeleteAnalysis(aid); 
 
///////////////////////////// 
 
ret = DPL.LoadFromFile(openFileDialog1.FileName, ""); 
msg += "\n\nResults from SecurityInfo()\n"; 
 
for (int i = 0; i <= 10; i++) 
{ 
ret = DPL.SecurityInfo(i); 
 
s = String.Format("[{0}]{1} = [{2}]{3}\n", i, item2[i], ret, result[ret]); 
msg += s; 
} 
MessageBox.Show(msg);
}
}
Updated on April 10, 2017

Was this article helpful?

Related Articles

Ready to try Foxit PDF SDK?
Click the link below to download your trial
Free Trial