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:
- Aufgabenplanung öffnen (taskschd.msc)
- Neue Aufgabe erstellen
- Aktion: Programm starten →
PDFProcessor.exe -r
- 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ü Extras → Verarbeitungszeiten-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
- Profile auswählen: Markieren Sie die gewünschten Profile in der Profilliste (Mehrfachauswahl mit Strg+Klick oder Umschalt+Klick möglich)
- Nachholen starten: Klicken Sie auf Nachholen in der Werkzeugleiste oberhalb der Profilliste
- Zeitraum festlegen: Bei Bedarf können Sie den Zeitraum einschränken (Von/Bis)
- 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 Allgemein → Wiederholungen.
| 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
- Fehler bei Verarbeitung → Datei wird in die Retry-Liste aufgenommen
- Wartezeit → System wartet das berechnete Intervall ab
- Wiederholung → Verarbeitung wird erneut versucht
- Bei Erfolg → Datei wird aus der Retry-Liste entfernt
- 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