2010-09-18 11 views
2

En utilisant PowerShell j'ai besoin de boucler une série de fichier pdf et de faire quelques opérations sur eux en utilisant pdftk. Je voudrais savoir s'il existe une méthode pour détecter si le pdf est crypté ou non. De cette façon, si le pdf est chiffré, je ne travaille pas dessus et ma boucle passe au fichier suivant. Merci pour l'attention.powershell - vérifier si le pdf est crypté

modifier. Pendant que j'attends une réponse, j'ai trouvé que itextsharp a une méthode isencrypted.

Après que je charge l'ensemble

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

que dois-je faire pour utiliser la méthode ci-dessus?

Répondre

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

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

$itext.isEncrypted() 

Vous devriez obtenir vrai ou faux en conséquence.

+0

Salut blizpasta et merci pour votre réponse. J'ai essayé votre code. Les deux DLL puis les chemins de fichiers ont raison mais quand je cours le code je reçois une erreur. EXCEPTION POWERSHELL TYPE D'EXCEPTION: System.Management.Automation.CmdletInvocationException MESSAGE: Impossibile trovare il tipo [itextpdf.text.pdf.PdfReader]. Verificare à l'assemblée contenente questo tipo sia caricato. POSITION: En riga: 2 voiture: 20 + $ itext = new-object <<<< itextpdf.text.pdf.PdfReader ("c: \ myfile.pdf") –

+0

J'ai fait une erreur et j'ai tapé "itextpdf. text ... "sur la deuxième ligne au lieu de" itextsharp.text ... ". Je l'ai corrigé. – blizpasta

+0

Merci beaucoup. Tout fonctionne bien maintenant. Encore merci pour votre gentillesse. Bon dimanche. –

0

Pour les personnes qui atteignent cette page recherche d'un moyen de vérifier si les fichiers sont cryptés NTFS, ce
est le chemin à parcourir:

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