2010-09-18 80 views
2

使用powershell我需要循环一系列pdf文件并使用pdftk对它们进行一些操作。我想知道是否存在一些方法来检测PDF是否加密或不。这样,如果PDF是加密的,我不会在它上面工作,我的循环跳到下一个文件。感谢您的关注。powershell - 检查pdf是否加密

编辑。当我等待一些答案时,我发现itextsharp有一个isencrypted方法。

我加载组装后

[System.Reflection.Assembly]::LoadFrom("c:\my_path\itextsharp.dll") 

我有什么做的,用上面的方法?

回答

3
[System.Reflection.Assembly]::LoadFrom("c:\itext\itextsharp.dll") 

$itext = new-object itextsharp.text.pdf.PdfReader("c:\itext\1.pdf") 

$itext.isEncrypted() 

作为结果,您应该得到true或false。

+0

喜blizpasta,感谢您的回复。我试过你的代码。这两个DLL然后文件路径是正确的,但是当我运行代码时,我收到一个错误。 POWERSHELL EXCEPTION EXCEPTION TYPE:System.Management.Automation.CmdletInvocationException MESSAGE:Impossibile trovare il tipo [itextpdf.text.pdf.PdfReader]。验证车间大会是否满足要求。 位置: 在里加:2车:20 + $ itext = new-object <<<< itextpdf.text.pdf.PdfReader(“c:\ myfile.pdf”) – 2010-09-18 20:01:51

+0

我犯了一个错误,输入“itextpdf。文本...“在第二行而不是”itextsharp.text ...“。我纠正了它。 – blizpasta 2010-09-18 20:22:19

+0

非常感谢。现在一切正常。再次感谢您的好意。周日愉快。 – 2010-09-18 20:31:07

0

对于达到这个搜索页面上的一个方法来检查文件是否加密的NTFS的人,
这是要走的路:

[System.IO.File]::GetAttributes($RootFolder).ToString().Contains("Encrypted")