Mir wurde gerüchtet, dass es doch tatsächlich Nutzer geben soll, die nicht KDE benutzen. ☺ Für die .bashrc pdf_encrypt function und die pdf_decrypt function wird ghostscript, libnotify-bin benötigt, und das breeze-icon-theme für das Krokodil vom Pop-Up. Das Icon kann natürlich dem eigenem Geschmack nach geändert werden. Ich habe es aus Bequemlichkeit beim Krokodil belassen, wie ich es auch im KDE-Servicemenü verwendet habe. Das Breeze Theme ist ja Standard beim KDE und mir gefiel das Krokodil.
sudo apt-get install ghostscript libnotify-bin breeze-icon-theme
Darum für diejenigen, die mal ein PDF verschlüsseln wollen oder entschlüsseln, zwei Bash function Einträge für die $HOME/.bashrc:
function pdf_encrypt () { [ -f "`echo "$1" | sed -e s/[^.]*$/encrypted.pdf/I`" ] && \ notify-send -i window-close.png "STOP! File exists! `echo "$1" | sed -e s/[^.]*$/encrypted.pdf/I | xargs basename`" ; \ [ ! -f "`echo "$1" | sed -e s/[^.]*$/encrypted.pdf/I`" ] && \ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPROMPT -dNOPAUSE -dQUIET -sOwnerPassword="$2" -sUserPassword="$2" -sOutputFile="`echo "$1" | sed -e s/[^.]*$/encrypted.pdf/I`" "$1" &> /dev/null && \ notify-send -i alligator.svg "PDF-Password: `echo "$2"`" } function pdf_decrypt () { [ -f "`echo "$1" | sed -e s/[^.]*$/decrypted.pdf/I`" ] && \ notify-send -i window-close.png "STOP! File exists! `echo "$1" | sed -e s/[^.]*$/decrypted.pdf/I | xargs basename`" ; \ [ ! -f "`echo "$1" | sed -e s/[^.]*$/decrypted.pdf/I`" ] && \ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile="`echo "$1" | sed -e s/[^.]*$/decrypted.pdf/I`" -sPDFPassword="$2" -f "$1" &> /dev/null && \ notify-send -i alligator.svg "PDF-Password was: `echo "$2"`" }
pdf_encrypt und pdf_decrypt prüfen ob das PDF bereits als BEISPIEL.encrypted.pdf, bzw.. BEISPIEL.decrypted.pdf vorliegt, stoppen dann und machen ein Warn-Pop-Up. Das Passwort wird auch noch mal durch ein Pop-Up angezeigt.
Nach editieren der $HOME/.bashrc muss diese Konfigurationsdatei der Bash neu eingelesen werden:
source $HOME/.bashrc
Aufruf der Bash function pdf_encrypt zum PDF verschlüsseln dann so:
pdf_encrypt DATEINAME.pdf PASSWORT
Aufruf der Bash function pdf_decrypt zum PDF entschlüsseln so:
pdf_decrypt DATEINAME.pdf PASSWORT