v0.6.0 · Sprache .pdfl + CLI pdfl

Ihre PDF-Checkliste als lauffähiger Code.

PDFLang ersetzt die Checkliste, die jemand am Bildschirm abarbeitet, durch ein versioniertes Skript. Farbauftrag, eingebettete Schriften, Pflichtklauseln, Barcodes, personenbezogene Daten — einmal deklariert, bei jeder Datei geprüft, im Terminal oder in der CI.

profiles/offset.pdfl — ein Preflight-Profil für den Offsetdruck
profile "offset-magazine" {

  const TAC_LIMIT = 300%
  const MIN_DPI   = 300

  check "Ink coverage" tags: ["prepress"] {
    doc.pages.each { |page|
      tac = prepress::calculate_exact_tac(page.number)
      assert tac <= TAC_LIMIT,
        "page #{page.number}: #{tac}% ink"
    }
  }

  check "Fonts" tags: ["fonts"] {
    loose = prepress::detect_text_substitution()
    assert loose.length == 0,
      "fonts not embedded: #{loose.join(", ")}"
  }
}
134
dokumentierte Funktionen
7
Namensräume
12
CLI-Befehle
8
Dokumentationssprachen

Sieben Namensräume, eine Sprache

Jeder Namensraum deckt eine Problemklasse ab. Sie nutzen nur, was Sie brauchen: Ein Skript, das codes:: nie anfasst, zahlt auch nicht für das Scannen der Seiten.

prepress:: 30 Funktionen

Druckvorstufe

Exakter Gesamtfarbauftrag, Separationen, Sonderfarben, Tiefschwarz, Haarlinien, Schriftersetzung, Mindestschriftgrad, Rahmen und Beschnitt. Was die Platte gezeigt hätte — vor der Platte.

text:: 25 Funktionen

Text

Extraktion, Normalisierung, Suche per regulärem Ausdruck und Prüfung dessen, was tatsächlich in der Datei steht — einschließlich Erkennung personenbezogener Daten.

struct:: 23 Funktionen

Struktur

Die Datei selbst: Metadaten, XMP, interne Objekte, Verschlüsselung und Berechtigungen, Prüfsummen. Beantwortet, ob das PDF ist, was es vorgibt zu sein.

fix:: 19 Operationen

Normalisierung

Rahmen, Seitendrehung und -reihenfolge, Wasserzeichen, Zusammenführen und Teilen, Optimierung. Schreibt ein neues PDF; das Original bleibt unangetastet.

visual:: 16 Funktionen

Bilder

Effektive Auflösung, Qualität, perzeptueller Hash und SSIM-Vergleich zweier Fassungen. Findet das niedrig aufgelöste Logo, das das Auge bei 100 % durchwinkt.

codes:: 13 Funktionen

Barcodes

Erkennt und decodiert EAN, UPC, Code 128/39, ITF, QR-Code, Data Matrix, Aztec und PDF417 — und gleicht den gelesenen Inhalt mit dem Soll ab.

data:: 8 Funktionen

Externe Daten

Gleicht den Dokumentinhalt mit Ihren eigenen Glossaren, Datensätzen und Nachschlagetabellen ab: Chargennummern, Artikelnummern, freigegebene Terminologie.

Exit-Codes statt Bildschirmfotos

Jeder prüfende Befehl folgt derselben Konvention: 0 alles bestanden, 1 nur Warnungen, 2 Prüffehler, 3 Syntaxfehler im Skript. Der Bericht entsteht als JSON, CSV, HTML oder Audit-PDF — eines für die Pipeline, eines für den Kunden.

dasselbe Profil, das nun einen Merge blockiert
# .github/workflows/preflight.yml
- run: pdfl run profiles/offset.pdfl artwork.pdf \
         --output html --output-file report.html \
         --fail-on warning

# 0 ok · 1 warnings · 2 validation errors · 3 syntax error
$ pdfl run profiles/offset.pdfl artwork.pdf
$ echo $?
2

Für den Produktionsalltag geschrieben

Druckerei

Die Datei kommt vom Kunden und jemand muss Farbauftrag, Schriften, Bilder und Beschnitt prüfen, bevor es auf die Platte geht. Ein Fehler, der danach auffällt, kostet die gesamte Auflage.

Ein Profil je Bedruckstoff. pdfl watch prüft, was im Hotfolder landet, und liefert einen HTML-Bericht, den Sie unverändert weiterleiten können.

Juristischer Verlag

Verträge und Richtlinien müssen Pflichtklauseln enthalten, dürfen keine personenbezogenen Daten preisgeben und sollen über alle Fassungen hinweg konsistente Metadaten führen.

Klauseln werden zu Zusicherungen mit Ihren eigenen Fehlermeldungen. pdfl compare zeigt, was sich zwischen zwei Fassungen desselben Dokuments geändert hat.

Regulierte Fertigung

Die Packungsbeilage muss die behördlich vorgeschriebenen Texte tragen und einen Chargencode, der zur tatsächlich produzierten Charge passt.

text:: prüft den Pflichtwortlaut, codes:: decodiert die gedruckte Data Matrix und vergleicht sie mit dem Produktionsdatensatz.

PDFLang abonnieren

Die Lizenz gilt je Gerät: pdfl fingerprint identifiziert die Maschine, pdfl license schaltet sie frei. Dasselbe Binary auf dem Arbeitsplatz des Operators und auf dem Build-Agent.

Tarife ansehen