Skip to main content
Skip table of contents

Binäres Suchen und Ersetzen

Mit „Binary Find & Replace“ können Administratoren Druckauftrags-Streams korrigieren oder patchen, bevor sie von MyQ geparst werden. Dabei wird auf Byte-Ebene eine Abfolge von hexadezimalen Such- und Ersetzungsregeln auf jeden Auftrag angewendet, wobei bestimmte PDL-Befehle (PCL, PJL, PostScript) beim Einreihen in eine Warteschlange gezielt bearbeitet werden. Die Regeln werden pro Warteschlange definiert, in einem einzigen Streaming-Durchlauf ausgeführt und treten sofort nach dem Speichern in Kraft – ein Neustart der Dienste ist nicht erforderlich.

Warnung!
Diese Funktion manipuliert rohe Byte-Streams. Eine falsch konfigurierte Regel kann einen Druckauftrag beschädigen oder undruckbar machen. Testen Sie dies zunächst in einer Nicht-Produktionswarteschlange. Sie sollten mit Hex-Daten und der entsprechenden PDL (PCL, PJL, PostScript) vertraut sein.


Binäres Suchen und Ersetzen aktivieren

Die Funktion ist standardmäßig deaktiviert. Um sie zu aktivieren, führen Sie die folgenden Schritte aus.

  1. Ändern Sie config.ini im Anwendungsdatenverzeichnis (Standard: C:\ProgramData\MyQ) so, dass er diese Zeilen enthält:

    CODE
    [JobProcessor]
    binaryFindReplaceEnabled=true
  2. Starten Sie alle MyQ-Dienste mit Easy Config neu.

Dadurch wird „Binary Find & Replace“ aktiviert und das Verzeichnis BinFindReplace im Verzeichnis „application data“, falls es noch nicht existiert.

Um die Funktion zu deaktivieren, setzen Sie binaryFindReplaceEnabled=false und starten Sie alle MyQ-Dienste neu.


Verwendung der Ersetzungsregeln-Datei

Erstellen Config.json im BinFindReplace Ordner im Datenverzeichnis (z. B. C:\ProgramData\MyQ\BinFindReplace\Config.json). Änderungen an der Datei werden sofort wirksam, ein Neustart der Dienste ist nicht erforderlich. Ist die Datei ungültig, wird ein Fehler protokolliert und die gesamte Datei übersprungen.

Beispiel:

CODE
{
  "queues": {
    "Default": ["FixTraySelection", "InjectWatermarkHeader"],
    "Web": ["GlobalBanner"]
  },
  "filters": {
    "FixTraySelection": {
      "find": "1B266C3148",
      "replace": "1B266C3248"
    },
    "InjectWatermarkHeader": {
      "find": "40504A4C20454E544552",
      "replace": "40504A4C2053455420555345523D2241646D696E220D0A40504A4C20454E544552"
    },
    "GlobalBanner": {
      "find": "1B452A",
      "replace": ""
    }
  }
}

Filter werden in der Config.json Datei mit einem eindeutigen Namen und einem Paar aus Such- und Ersetzungszeichenfolgen definiert. Um die übereinstimmenden Bytes zu löschen, verwenden Sie eine leere Zeichenfolge als Ersetzungswert (wie GlobalBanner im Beispiel).

Filter in jedem Warteschlangenarray werden nacheinander angewendet, wobei jeder auf der Ausgabe des vorherigen Filter arbeitet, in einem einzigen Durchlauf durch die Druckdatei. Zusätzliche Filter können ohne Leistungseinbußen hinzugefügt werden. Das Ergebnis wird direkt an die Ausgabe gestreamt, ohne den gesamten Auftrag zwischenzuspeichern. Eine Filter-ID kann mehrfach in einem Warteschlangenarray vorkommen, in beliebiger Kombination mit anderen Filtern.

Feldreferenz

Feld

Typ

Beschreibung

queues

Objekt

Ordnet Warteschlangennamen (unter Berücksichtigung der Groß-/Kleinschreibung) einem geordneten Array von Filter-IDs zu. Nicht aufgeführte Warteschlangen bleiben davon unberührt.

filters

Objekt

Benannte Filterdefinitionen; wobei jeder Schlüssel eine Filter-ID und jeder Wert ein Such-/Ersetzungs-Paar ist.

find

Zeichenkette

Zu suchende Hex-Bytes. Muss nicht leer sein, eine gerade Länge haben und ist groß-/kleinschreibungsunabhängig.

replace

Zeichenkette

Zu ersetzende Hex-Bytes. Eine leere Zeichenfolge löscht die übereinstimmenden Bytes. Muss eine gerade Länge haben und ist groß-/kleinschreibungsunabhängig.

Beachten Sie die folgenden Anforderungen:

  • Nur Hexadezimalzeichen: 0–9, a–f, A–F, Groß-/Kleinschreibung wird nicht berücksichtigt

  • Die Zeichenfolgen find und replace müssen eine ganze Anzahl von Bytes enthalten (2 Hexadezimalzeichen pro Byte)

  • Die find Zeichenkette darf nicht leer sein.

  • Die Werte für find und replace müssen unterschiedlich sein.

  • Jede Filter-ID in queues muss in filters.

  • Maximale Größe für jeden find und replace Wert beträgt 256 KB.

  • Die Ausgabe eines einzelnen Filters darf nicht mehr als das 64-fache der Größe seiner Eingabe betragen.


Protokollierung

Ereignisse im Zusammenhang mit dieser Funktion werden unter „MyQ > Log“ angezeigt und sind mit dem Text „Binary Find & Replace“ gekennzeichnet.


Weitere Dokumentaktualisierungen (TODO)

Erweiterte Konfiguration (neuen Parameter hinzufügen)

[JobProcessor]

Parameter

Version

Standard

Beschreibung

binaryFindReplaceEnabled

10.2.22+

false

Aktiviert die Engine zum Suchen und Ersetzen von Binärdaten.

Werte: true, false

Der Server liest Regeln aus BinFindReplace\Config.json und wendet sie vor der Analyse auf Jobs in den entsprechenden Warteschlangen an. Erfordert nach einer Änderung einen Neustart der Dienste.


Versionshinweise

Verbesserungen

  • NEW FEATURE Binäres Suchen und Ersetzen – Administratoren können nun pro Warteschlange hexadezimale Such- und Ersetzungsregeln definieren, um Druckauftragsströme vor dem Parsen umzuwandeln. Nützlich zum Patchen von PCL-/PJL-/PostScript-Befehlen und zum Korrigieren treiberspezifischer Byte-Sequenzen. Weitere Informationen finden Sie unter „Binäres Suchen und Ersetzen“.


Weitere mögliche Dokumenttreffer

Abschnitt

Dokumenttreffer

Registerkarte „Auftragsverarbeitung“

Einzeiligen Querverweis hinzufügen: „Informationen zu Byte-Stream-Umwandlungen vor der Analyse finden Sie unter Binäres Suchen und Ersetzen.“

Job-Skripting

Hinweis zur Ausführungsreihenfolge: „Binäres Suchen & Ersetzen“ wird vor dem Parsen ausgeführt; die Skriptverarbeitung erfolgt danach.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.