2010-10-28 4 views
6

è possibile verificare se pdf è protetto da password usando ghostscript? quale sarebbe il comando? So che puoi eliminare la password del pdf usando ghostscript, ma tutto quello che voglio fare è solo controllare se il PDF è protetto da password o abilitato per la sicurezza.è possibile verificare se pdf è protetto da password usando ghostscript?

+0

Dopo aver avviato una taglia, vorrei anche sapere se è possibile rilevare PDF protetti da password con altri strumenti. – Benoit

risposta

4

checkuserpasswdPDF.sh:

#!/bin/sh 

GS=~/gs/bin/gs 
output=`$GS -dBATCH -sNODISPLAY "$1" 2>&1` 
gsexit=$? 

if [ "$gsexit" == "0" ]; then 
    echo "Not user-password protected" 
    exit 0; 
else 
    found=`echo "$output" |grep -o "This file requires a password"` 
    if [ -z "$found" ]; then 
    echo "Failed to invoke gs" 
    exit $gsexit 
    else 
    echo "Protected" 
    exit 0; 
    fi 
fi 

Verifica la presenza di file PDF protetti da password utente-: checkuserpasswdPDF.sh test.pdf.

GS ignora le password di proprietario (vedere this).

+0

humm questo sembra promettente, farò un tentativo – Aman

2

Con pdftk è possibile rilevare una password utente o la password del proprietario semplicemente tentando di eseguire un'operazione dump_data.

protected=0 
pdftk "input.pdf" dump_data output /dev/null dont_ask || protected=1 

Il problema qui è che non si sa che cosa la password impedisce: la lettura, l'estrazione dei dati, la modifica ...?

+1

ho provato qualcosa di simile, ma era limitante e pdftk non mi dava sempre risultati corretti. – Aman

0

Utilizzando un file bat, è possibile eseguire una piccola soluzione cercando "Encrypt" nei file PDF. Il suo silenzioso veloce per cercare tra molti file.

Findstr /M /I "Encrypt" *.pdf 

Questo restituirà tutti i nomi di file che sono protetti (dal momento che "Encrypt" sarà scritto nel file come dos lo legge)

forse questo è qualcosa che qualcuno può utilizzare. Io uso:
for /f %%a in ('Findstr /M /I "Encrypt" *.pdf') do move %%a c:\tempfiles\
per spostare tutti i pdf protetti in c: \ tempfiles. Da lì uso ghostscript per rimuovere la sicurezza e spostarlo nella cartella originale.