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