如何在目录中找到受密码保护的pdf文件?

时间:2017-03-31 17:15:23

标签: pdf command-line

在Windows目录中,我有大约100个pdf文件,有些是密码保护的,有些则不是。是否有一种简单的方法(在命令行中或可能使用免费软件工具)找到受密码保护的方法而无需在pdf阅读器中打开它们?

2 个答案:

答案 0 :(得分:0)

您可以使用is it possible to check if pdf is password protected using ghostscript?的脚本并将其扩展为迭代一堆文件,例如。将所有未受密码保护的文件移动到子目录中。

答案 1 :(得分:0)

由于您使用的是Windows,因此可以使用iTextSharp库来完成此操作。

首先,提取itextsharp.dll,它位于itextsharp-dll-core存档中。

然后,使用以下PowerShell脚本:

Add-Type -Path .\itextsharp.dll

Get-ChildItem -Filter *.pdf |
ForEach-Object {
    $filename = $_.Name
    Try {
        $pdf = New-Object iTextSharp.text.pdf.PdfReader($_.FullName)
        If ($pdf.IsEncrypted()) {
            $filename
        }
    }
    Catch {
        $filename
    }
}

输出将是每个受保护或加密的PDF的名称。