Benötigt wird kdialog, ghostscript, libnotify-bin und das breeze-icon-theme für das Krokodil vom Pop-Up zum kontrollieren des gesetzten PDF-Passworts.
sudo apt-get install kdialog ghostscript libnotify-bin breeze-icon-theme
Der Inhalt der /home/USERNAME/.local/share/kservices5/ServiceMenus/pdf_encryption.desktop:
[Desktop Entry] Type=Service ServiceTypes=KonqPopupMenu/Plugin MimeType=application/pdf Actions=01_pdf_encyption; X-KDE-Submenu= PDF encyption ==> X-KDE-Submenu[de]=PDF verschlüsseln ==> Icon=application-pdf [Desktop Action 01_pdf_encyption] Icon=application-pdf Name=PDF encyption Name[de]=PDF verschlüsseln Exec=[ -f "`echo "%f" | sed -e s/[^.]*$/encrypted.pdf/I`" ] && notify-send -i window-close.png "STOP! File exists! `echo "%f" | sed -e s/[^.]*$/encrypted.pdf/I | xargs basename`" ; [ ! -f "`echo "%f" | sed -e s/[^.]*$/encrypted.pdf/I`" ] && PW=`kdialog --inputbox "Password for PDF Encryption:"` && gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPROMPT -dNOPAUSE -dQUIET -sOwnerPassword=$PW -sUserPassword=$PW -sOutputFile="`echo "%f" | sed -e s/[^.]*$/encrypted.pdf/I`" "%f" && notify-send -i /usr/share/icons/breeze/apps/48/alligator.svg "PDF-Password: `echo $PW`"
USERNAME im Dateipfad muss durch den eigenen Usernamen ersetzt werden.
Dann noch zur Sicherheit einmal kbuildsycoca5 durchlaufen lassen:
kbuildsycoca5 --noincremental
Dann sollte es auch schon funktionieren. Wenn die entsprechende Ausgabe der PDF Datei BEISPIEL.pdf bereits als BEISPIEL.encrypted.pdf existiert, stoppt das Servicemenü und gibt ein Warn-Pop-Up aus.
Die Test-Datei die ich verwendet hatte, war diese:
Google spuckte mir das als Testdatei für PDF aus. Es ist mit Acrobat Distiller 7.0.5 (Windows) erstellt und war PDF-Version 1.6.