pdftk : bearbeiten von PDF Dateien

Es gibt zwar schon tausende von Einträge zu diesem Thema dennoch schreibe ich jetzt mal was zu pdftk was mir in der Shell immer gute Dienste leistet. Ich hatte gerade wieder die Anforderung eine PDF zu verkleinern und zu drehen, sicher man könnte sich irgendeine GUI Sache auf die Kiste laden die das macht, aber warum es gibt doch pdftk ;-)

Hier kann man pdftk für Windows downloaden , bei Linux ist PDFTk meist über Repository verfügbar.

Debian
apt-get install pdftk

OpenSuse
zypper install pdftk


Beispiele :

Seiten drehen mit pdftk von Seite 1 bis Ende um 90°
pdftk input.pdf cat 1-endwest output out.pdf


Seiten drehen mit pdftk von Seite 1 bis 3 90° drehen den Rest so mit rein
pdftk input.pdf cat 1-3west 3-end output out.pdf


Seiten um 180° drehen
pdftk input.pdf cat 1-endsouth output out.pdf


Wie man Formulare ausfüllt habe ich hier erklärt : PDFtk - PDF Formulare automatisch befüllen

Mehr Informationen zu pdftk : pdftk - cli examples

Nextcloud 11 : Anlegen von Benutzern über Script

Erstellt und getestet wurde das ganze unter Nextcloud 11, sollte aber auch mit der Owncloud funktionieren.

Problem : Wir setzten hier produktiv eine Nextcloud ein, es kommt immer wieder vor das ich einige Benutzer für Kunden oder Projekte anlegen muss. Hier ist das dann immer gleich eine Gruppe von 10 - 20 Usern. Um mir das Leben zu erleichtern habe ich ein kleines Skript geschrieben das mir eine Textdatei ausliest und Benutzer anlegt.

Lösung : Als erstes muss eine Textdatei mit den ganzen Benutzern angelegt werden. Eine Zeile = ein Benutzer. z.B. users.txt
Vorname Nachname;v.nachname;Gruppe
Vorname Nachname1;v.nachname1;Gruppe1
Vorname Nachname2;v.nachname2;Gruppe2
Auf dem System muss pwgen installiert sein. Kann unter debian mit dem Befehl installiert werden.
apt-get install pwgen
Natürlich müssen alle Variablen im Skript eurem Server angepasst werden.

Dieses Skript erstellen und ausführbar (chmod u+x skriptname) machen.
#!/bin/bash
var_datum=$(date +"%Y%m%d")
var_user_file="users.txt"
var_apache_user=www-data
var_path_nextcloud=/var/www/cloud
var_result_file="${var_datum}_user_create.txt"
while read -r line
do
var_password=$(pwgen 12 -c -n -N 1)
set -e
export OC_PASS=$var_password
var_username=$(echo "${line}" | cut -d";" -f2)
var_name=$(echo "${line}" | cut -d";" -f1)
var_group=$(echo "${line}" | cut -d";" -f3)
su -s /bin/sh ${var_apache_user} -c "php ${var_path_nextcloud}/occ user:add ${var_username} --password-from-env --group='${var_group}' --display-name='${var_name}'"
echo "Benutzer ${var_username} wurde mit Passwort ${var_password} erstellt" >> "${var_result_file}"
done < $var_user_file
Wenn alles funktioniert hat müsste ein Output kommen der ca. so aussieht.

erstellen mehrer Benutzer in Nextcloud
Im Screenshot habe ich auch nochmal den Aufbau für die Demo mit cat ausgegeben. (Zeile 2)

Danach findet ihr eine Datei DATUM_users_created.txt in der alle Benutzer mit Password aufgeführt sind.

Leider ist es noch nicht möglich (Stand 03/17) Benutzer mit E-Mail Adresse zu hinterlegen hier muss dann entweder noch ein sql query abgefeuert werden oder manuell im Backend nachpflegen.

Mehr Informationen zu occ : Using OCC Command on Nextcloud 11
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)