33 Erweiterte Funktionen

33.1 Kommandozeilenparameter

Der PDF-Prozessor (PDFProcessor.exe) kann über Kommandozeilenparameter gesteuert werden. Dies ermöglicht die Integration in Skripte, geplante Aufgaben oder den Betrieb als Windows-Dienst.

Verfügbare Parameter

Parameter Kurzform Beschreibung
--headless -h Startet im Headless-Modus (ohne GUI-Abhängigkeit)
--run_once -r Führt einen einmaligen Verarbeitungslauf durch, dann beenden
--quit -q Beendet eine laufende Instanz
--profile "Name" -p "Name" Nur das angegebene Profil ausführen
--profiles [A,B,C] -ps [A,B,C] Nur die angegebenen Profile ausführen (kommagetrennt)

Beispiele

# Einmalige Verarbeitung
PDFProcessor.exe --run_once

# Kurzform
PDFProcessor.exe -r

# Als Dienst starten (Endlosschleife)
PDFProcessor.exe --headless

# Laufende Instanz beenden
PDFProcessor.exe --quit

# Headless mit einmaliger Verarbeitung
PDFProcessor.exe --headless --run_once

# Nur ein bestimmtes Profil verarbeiten
PDFProcessor.exe --headless --run_once --profile "Rechnungen Import"

# Mehrere Profile verarbeiten
PDFProcessor.exe -h -r --profiles [Rechnungen,Archiv,Backup]

Profilauswahl

Mit den Parametern --profile und --profiles können Sie die Verarbeitung auf bestimmte Profile beschränken. Dies ist besonders nützlich für den Windows-Aufgabenplaner, wenn verschiedene geplante Aufgaben unterschiedliche Profile ausführen sollen.

Einzelnes Profil:

PDFProcessor.exe -h -r -p "Rechnungen Import"
PDFProcessor.exe --headless --run_once --profile "Bestellungen"

Mehrere Profile:

PDFProcessor.exe -h -r -ps [Rechnungen,Bestellungen,Archiv]
PDFProcessor.exe --headless --run_once --profiles [Nachtverarbeitung,Backup]

Profilnamen mit Kommas:

Wenn ein Profilname selbst ein Komma enthält, muss dieser in Anführungszeichen gesetzt werden. Sowohl doppelte als auch einfache Anführungszeichen werden unterstützt:

# Profilname "Rechnungen, Import" enthält ein Komma
PDFProcessor.exe -h -r --profiles ["Rechnungen, Import",Archiv]

# Mit einfachen Anführungszeichen
PDFProcessor.exe -h -r --profiles ['Rechnungen, Import',Archiv]

# Mehrere Profile mit Kommas
PDFProcessor.exe -h -r --profiles ["Rechnungen, Eingang","Bestellungen, Ausgang",Backup]

# Gemischt: Profile mit und ohne Kommas
PDFProcessor.exe -h -r --profiles [Normal,"Mit, Komma",AuchNormal]

Verhalten: - Profilnamen sind nicht case-sensitive (“Rechnungen” = “rechnungen” = “RECHNUNGEN”) - Nicht existierende Profile werden übersprungen (mit Warnung in der Konsole) - Inaktive Profile werden ebenfalls übersprungen (Active-Flag hat Vorrang) - Ohne Profilangabe werden alle aktiven Profile verarbeitet (Standardverhalten)

Konsolen-Ausgabe:

[08:00:00] Profiles filter: Rechnungen, Archiv

oder bei allen Profilen:

[08:00:00] Processing all active profiles

Kombinationen

Kombination Verhalten
--headless Autonomer Dauerbetrieb ohne GUI
--run_once Einmalig verarbeiten, dann beenden
--headless --run_once Einmalig ohne GUI verarbeiten, dann beenden
--quit Laufende Instanz beenden

Exit-Codes

Code Bedeutung
0 Erfolgreiche Beendigung
1 Unbehandelte Ausnahme
2 Lizenz abgelaufen oder ungültig
3 Konfigurationsfehler
4 Bereits eine Instanz aktiv

33.2 Headless-Modus / Dienst-Betrieb

Im Headless-Modus läuft der PDFProcessor ohne Abhängigkeit von der GUI-Anwendung. Dies ist ideal für den Server-Betrieb oder die Ausführung als Windows-Dienst.

Einsatzszenarien

Szenario Empfohlene Parameter
Windows-Dienst --headless
Docker-Container --headless
Geplante Aufgabe (einmalig) --run_once
Skript-Integration --headless --run_once

Installation als Windows-Dienst

Mit NSSM (Non-Sucking Service Manager)

# Dienst installieren
nssm install PDFProcessor "C:\...\PDFProcessor.exe" --headless

# Dienst starten
nssm start PDFProcessor

# Dienst stoppen
nssm stop PDFProcessor

# Dienst entfernen
nssm remove PDFProcessor

Mit SC (Windows Service Control)

# Dienst erstellen
sc create PDFProcessor binPath= "C:\...\PDFProcessor.exe -h"

# Starttyp auf automatisch setzen
sc config PDFProcessor start= auto

# Dienst starten
sc start PDFProcessor

Geplante Aufgabe einrichten

Für regelmäßige Verarbeitungen ohne Dauerbetrieb:

  1. Aufgabenplanung öffnen (taskschd.msc)
  2. Neue Aufgabe erstellen
  3. Aktion: Programm starten → PDFProcessor.exe -r
  4. Trigger: Nach Bedarf (z.B. stündlich, täglich)
# Beispiel: Tägliche Verarbeitung um 8:00 Uhr (alle aktiven Profile)
schtasks /create /sc daily /tn "PDFProcessor" /tr "\"C:\...\PDFProcessor.exe\" -r" /st 08:00

# Beispiel: Tägliche Rechnungsverarbeitung um 9:00 Uhr (nur bestimmtes Profil)
schtasks /create /sc daily /tn "PDF Rechnungen" /tr "\"C:\...\PDFProcessor.exe\" -h -r -p \"Rechnungen Import\"" /st 09:00

# Beispiel: Nächtliche Archivierung um 2:00 Uhr (mehrere Profile)
schtasks /create /sc daily /tn "PDF Nachtarchiv" /tr "\"C:\...\PDFProcessor.exe\" -h -r --profiles [Archiv,Backup,Bereinigung]" /st 02:00

Tipp: Mit verschiedenen geplanten Aufgaben für unterschiedliche Profile können Sie flexible Verarbeitungsszenarien einrichten - z.B. Rechnungen tagsüber stündlich, Archivierung nachts einmal täglich.

Konsolen-Ausgaben

Im Headless-Modus gibt der Prozessor Statusinformationen aus:

[08:00:00] Automatic PDF Processor 2.0.0 started
[08:00:00] Version: 2.0.0
[08:00:00] License: VALID
[08:00:00] Mode: Headless + RunOnce + Profiles: [Rechnungen, Archiv]
[08:00:00] Profiles filter: Rechnungen, Archiv
[08:00:00] Culture: de-DE
[08:00:00] AppData: C:\Users\...\AppData\...

Konfiguration

Der Headless-Modus verwendet dieselbe Konfiguration wie die GUI-Anwendung: - Konfigurationspfad: %APPDATA%\Gillmeister Software\Automatic PDF Processor 2\ - Profile: Profiles.json - Optionen: Options.json

Hinweis: Bei zentraler Profilverwaltung wird der in den Optionen konfigurierte Pfad verwendet.


33.3 Verarbeitungszeiten-Diagnose

Das Diagnose-Fenster bietet einen Überblick über Verarbeitungszeiten und Programmaktivität.

Aufrufen: Menü ExtrasVerarbeitungszeiten-Diagnose…

Registerkarte: Laufzeiten

Zeigt die Programmaktivität der letzten 30 Tage.

Spalte Beschreibung
Datum Tag der Aktivität
Start Startzeit des Programms
Ende Endzeit (bzw. letzte bekannte Aktivität)
Dauer Gesamtlaufzeit

Registerkarte: Globale Verarbeitungszeiten

Zeigt die in den Programmoptionen konfigurierten globalen Zeitfenster: - Aktive Wochentage - Verarbeitungszeitraum (Von/Bis) - Nächster geplanter Zeitpunkt

Registerkarte: Profilspezifische Verarbeitungszeiten

Listet alle Profile auf, die eigene Verarbeitungszeiten verwenden:

Spalte Beschreibung
Profil Profilname
Status Aktiv/Inaktiv im aktuellen Zeitfenster
Nächstes Zeitfenster Wann das nächste Zeitfenster beginnt
Heute verarbeitet Anzahl der heute verarbeiteten Dateien

Registerkarte: Wartende Dateien

Zeigt Dateien, die auf ihr Zeitfenster warten:

Spalte Beschreibung
Datei Pfad zur wartenden Datei
Profil Zugeordnetes Profil
Wartet bis Beginn des nächsten Zeitfensters

33.4 Nachholverarbeitung (Nachholen)

Die Funktion “Nachholen” ermöglicht es, ein oder mehrere Profile auf alle PDF-Dateien eines bestimmten Zeitraums anzuwenden.

Funktionsweise

  1. Profile auswählen: Markieren Sie die gewünschten Profile in der Profilliste (Mehrfachauswahl mit Strg+Klick oder Umschalt+Klick möglich)
  2. Nachholen starten: Klicken Sie auf Nachholen in der Werkzeugleiste oberhalb der Profilliste
  3. Zeitraum festlegen: Bei Bedarf können Sie den Zeitraum einschränken (Von/Bis)
  4. Verarbeitung: Die ausgewählten Profile werden auf alle PDF-Dateien in ihren überwachten Ordnern angewendet

Optionen im Dialog

Option Beschreibung
Von/Bis Zeitraum einschränken (basierend auf Änderungsdatum der Dateien)
Ohne Einschränkung Alle Dateien in den überwachten Ordnern verarbeiten

Anwendungsfälle

  • Historische Daten: Altbestand in ein neues Archiv migrieren
  • Fehlerkorrektur: Nach Profilanpassung Dateien erneut verarbeiten
  • Manuelle Trigger: Dateien aus einem anderen Quellordner verarbeiten
  • Test: Neue Profile mit bestehenden Dateien testen

33.5 Wiederholungen bei Fehlern (Retry)

Das Retry-System ermöglicht die automatische Wiederholung fehlgeschlagener Verarbeitungen.

Konfiguration (pro Profil)

Die Retry-Einstellungen finden Sie in den Profileinstellungen unter AllgemeinWiederholungen.

Einstellung Standard Beschreibung
Aktiv Nein Wiederholungen aktivieren
Maximale Versuche 3 Anzahl der Wiederholungsversuche
Zeitraum 1 Stunde Innerhalb dieses Zeitraums werden die Versuche verteilt

Intervallberechnung

Die Versuche werden gleichmäßig über den Zeitraum verteilt:

Versuche Zeitraum Intervall zwischen Versuchen
3 1 Stunde 20 Minuten
3 3 Stunden 1 Stunde
5 1 Stunde 12 Minuten

Zeitraum-Optionen

Einheit Verwendung
Sekunden Für schnelle Wiederholungen (z.B. bei Netzwerkproblemen)
Minuten Für mittelfristige Wiederholungen
Stunden Für längerfristige Wiederholungen (Standard)
Tage Für sehr lange Wiederholungszeiträume

Ablauf

  1. Fehler bei Verarbeitung → Datei wird in die Retry-Liste aufgenommen
  2. Wartezeit → System wartet das berechnete Intervall ab
  3. Wiederholung → Verarbeitung wird erneut versucht
  4. Bei Erfolg → Datei wird aus der Retry-Liste entfernt
  5. Bei erneutem Fehler → Nächster Versuch nach weiterem Intervall

Automatische Bereinigung

  • 7-Tage-Regel: Einträge, deren letzter Fehler mehr als 7 Tage zurückliegt, werden automatisch entfernt
  • Maximale Versuche: Nach Erreichen der maximalen Versuche wird keine weitere Wiederholung durchgeführt

Retry-Status im Protokoll

Fehler mit aktiver Retry-Funktion zeigen zusätzliche Informationen:

Information Beschreibung
Nächster Versuch Zeitpunkt des nächsten Wiederholungsversuchs
Verbleibend Anzahl der verbleibenden Versuche

Anwendungsfälle

Szenario Empfohlene Konfiguration
Netzwerk-Drucker 3 Versuche, 10 Minuten
E-Mail-Server 3 Versuche, 30 Minuten
Externe Speicher 5 Versuche, 1 Stunde
Batch-Verarbeitung 3 Versuche, 2 Stunden

Beispiel

Konfiguration: - Maximale Versuche: 3 - Zeitraum: 1 Stunde

Ablauf bei Fehler um 10:00: 1. Erster Fehler: 10:00 2. Zweiter Versuch: 10:20 3. Dritter Versuch: 10:40 4. Finaler Versuch: 11:00

Nach dem finalen Versuch wird die Datei als “fehlgeschlagen” markiert und erscheint im Protokoll unter “Erfolglose Wiederholungen”.

Benachrichtigung bei erschöpften Versuchen

In den Profil-Benachrichtigungseinstellungen können Sie eine E-Mail-Benachrichtigung aktivieren, wenn alle Wiederholungsversuche fehlgeschlagen sind.


33.6 Tipps und Hinweise

Dienst-Betrieb

  • Berechtigungen: Der Dienst läuft standardmäßig als SYSTEM-Konto. Für Zugriff auf Netzlaufwerke muss ein Benutzerkonto mit entsprechenden Rechten verwendet werden.
  • Protokollierung: Im Headless-Modus werden Fehler in die Konsole und das Error-Log geschrieben.
  • Konfigurationsänderungen: Änderungen an Profilen werden automatisch übernommen.

Retry-Strategie

  • Temporäre Fehler: Kurze Intervalle (Minuten) für Netzwerkprobleme, Drucker-Verfügbarkeit
  • Externe Abhängigkeiten: Längere Intervalle (Stunden) für externe Systeme, die möglicherweise gewartet werden
  • Nicht zu viele Versuche: Zu viele Wiederholungen können das System belasten

Nachholverarbeitung

  • Mehrere Profile: Sie können mehrere Profile gleichzeitig auswählen, um diese gemeinsam auf einen Zeitraum anzuwenden
  • Filter beachten: Nur Dateien, die den Profilfiltern entsprechen, werden verarbeitet
  • Große Zeiträume: Bei sehr großen Zeiträumen kann die Verarbeitung länger dauern