Code Beispiele

Test ob Hilfsprogramme vorhanden sind (ins Terminal Einfügen)

#!/bin/bash

# Liste der benötigten Programme
REQUIRED_CMDS=("yad" "zenity" "cut" "exiftool")

check_dependencies() {
    local missing=()
    echo "Überprüfe Systemvoraussetzungen..."

    for cmd in "${REQUIRED_CMDS[@]}"; do
        if command -v "$cmd" &> /dev/null; then
            # Erfolg: Grüner Haken und Pfad anzeigen
            echo -e "  \e[32m[✔]\e[0m $cmd gefunden"
        else
            # Fehler: Rotes Kreuz
            echo -e "  \e[31m[✘]\e[0m $cmd FEHLT"
            missing+=("$cmd")
        fi
    done

    if [ ${#missing[@]} -ne 0 ]; then
        echo -e "\n\e[31mFEHLER:\e[0m Bitte installiere die fehlenden Programme."
        echo "Drücke Enter zum Beenden..."
        read
        exit 1
    else
        echo -e "\n\e[32mERFOLG:\e[0m Alle externen Hilfsprogramme sind bereit."
    fi
}
check_dependencies

echo "Alle Abhängigkeiten gefunden."
echo "Drücke Enter, um dieses Fenster zu schließen..."
read


Code für Datei pdf_meta_edit.sh

#!/bin/bash
shopt -s nocasematch
 
FILE="$1"

if [ -z "$FILE" ]; then
    # Hier kannst du zenity lassen oder durch yad --error ersetzen
    zenity --error --text="Keine Datei übergeben!"
    exit 1
fi

if [[ "$FILE" != *.pdf ]]; then
    zenity --error --text="Bitte eine PDF-Datei auswählen!"
    exit 1
fi

# 🔍 Aktuelle Metadaten holen
TITLE=$(exiftool -s3 -PDF:Title "$FILE")
AUTHOR=$(exiftool -s3 -PDF:Author "$FILE")
SUBJECT=$(exiftool -s3 -PDF:Subject "$FILE")

# Die eigentliche Änderung für YAD:
FORM=$(yad --form \
--width=500 \
--title="PDF Metadaten bearbeiten" \
--text="Bearbeite:\n$FILE" \
--field="Titel" "$TITLE" \
--field="Autor" "$AUTHOR" \
--field="Beschreibung" "$SUBJECT" \
--separator="|" )

# Abbruch abfangen (YAD gibt bei "Abbrechen" Code 1 zurück)
[ $? -ne 0 ] && exit 0

# Werte extrahieren (bleibt gleich)
NEW_TITLE=$(echo "$FORM" | cut -d'|' -f1)
NEW_AUTHOR=$(echo "$FORM" | cut -d'|' -f2)
NEW_SUBJECT=$(echo "$FORM" | cut -d'|' -f3)

exiftool \
-PDF:Title="$NEW_TITLE" \
-PDF:Author="$NEW_AUTHOR" \
-PDF:Subject="$NEW_SUBJECT" \
-XMP:Title="$NEW_TITLE" \
-XMP:Creator="$NEW_AUTHOR" \
-XMP:Description="$NEW_SUBJECT" \
-overwrite_original \
"$FILE"

yad --info --text="Metadaten gespeichert!"


Code für Datei pdf-meta-editor.desktop

[Desktop Entry]
Name=PDF Metadaten bearbeiten
Exec=/home/nutzer/scripte/pdf_meta_edit.sh %f
Type=Application
Terminal=false
MimeType=application/pdf;
Name[de_DE]=pdf-meta-editor.desktop

Keine Kommentare:

Kommentar veröffentlichen