Search code examples
pythonpypdf

Scan for secured pdf documents


I've currently run into the need to find which pdfs within a directory are "Secured Documents". All of the pdfs should be unsecured, and convertible via xpdf, however, this is not the case. How could I scan through all the pdfs in a directory to find out whether or not they are secured?


Solution

  • pypdf supports decrypting PDFs. Its PdfReader class has an is_encrypted attribute.

    import pypdf
    if pypdf.PdfReader("file_name.pdf").is_encrypted:
        print("Rut ro, it's encrypted.")
        # skip file? Write to a log?
    else:
        print("We're clear.")
        # Do stuff with the file.