Files
Workflow/tasks/pdf_sign_at_text.md
T
2026-07-02 08:18:00 +02:00

2.3 KiB

pdf_sign_at_text — Stempeln/Signieren an gefundener Textstelle

Zweck: Sucht eine Phrase im PDF-Text (z. B. eine Unterschriftszeile) und platziert relativ dazu einen Sichtvermerk-Stempel samt kryptografischer Signatur — ohne feste Koordinaten pflegen zu müssen. Robust gegen Layout-Verschiebungen der Vorlage. Der Stempel wird eingebrannt, die Datei in-place überschrieben. Wird die Phrase nicht gefunden, bricht der Task mit Fehler ab.

Parameter

Name Pflicht? Default Beschreibung
file ja Zu signierendes PDF (in-place).
search ja Exakte Suchphrase (ein oder mehrere Wörter, Whitespace wird normalisiert). Anker ist das erste Wort der Phrase.
text ja Stempeltext; {{TODAY}} steht hier zusätzlich bereit (Datum zum Signierzeitpunkt, nicht Workflow-Start).
seite nein auto auto = alle Seiten durchsuchen, erste Treffer-Seite gewinnt; oder konkrete Seitennummer.
case_sensitive nein false Groß-/Kleinschreibung bei der Suche beachten.
x_offset_pt nein 0 X-Versatz in PDF-Punkten relativ zur linken Kante des Fundworts.
y_offset_pt nein 0 Y-Versatz in PDF-Punkten relativ zur Oberkante des Fundworts. Y=0 oben; negativ = nach oben (über den Text).
breite_pt nein 120 Stempelbreite in PDF-Punkten.
hoehe_pt nein 30 Stempelhöhe in PDF-Punkten.
fontsize nein 12 Schriftgröße des Stempeltexts (vertikal zentriert im Stempelrechteck).

Eingangswerte: {{latest_pdf_path}} (typisch als file); Kontext-Variablen für den Stempeltext (z. B. {{pruefer_nachname}}).

Ausgangswerte:

  • latest_pdf_path, latest_pdf_url
  • Diagnose: <task_id>_matched_page (Fundseite), <task_id>_matched_x, <task_id>_matched_y_top (Fundposition in pt, Y top-down), <task_id>_stamp_x, <task_id>_stamp_y (tatsächliche Stempelposition inkl. Offsets)
<task type="pdf_sign_at_text" id="vorsitz_sig">
  <config>
    <file>{{latest_pdf_path}}</file>
    <search>Anordnungsbefugten</search>
    <seite>auto</seite>
    <x_offset_pt>0</x_offset_pt>
    <y_offset_pt>-25</y_offset_pt>
    <breite_pt>120</breite_pt>
    <hoehe_pt>30</hoehe_pt>
    <text>{{TODAY}}, gez. {{pruefer_nachname}}</text>
  </config>
</task>