2010-09-18 62 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")