Prüfungsergebnisse invertieren (negieren)

Mit pdfToolbox 10 sind zwei neue Methoden möglich für das Invertieren (oder auch "Negieren") von Prüfergebnissen:

  • durch das Invertieren der Prüfung (über einen "Booleschen Weg")
  • durch Hinzufügung einer weiteren Bedingung, die nur anschlägt, wenn die Anzahl der Treffer der anderen Bedingungen "0" ist

In älteren Versionen war es bereits möglich, Operatoren wie: "enthält nicht", "ungleich" oder "ist nicht wahr" zu verwenden. Alle drei Varianten dieser Negationen haben unterschiedliche Ergebnisse.

Am Einfachsten werden die Unterschiede und Anwendungsfälle im folgenden Beispiel deutlich. Wir verwenden hierzu eine PDF, welche zwei Schmuckfarben und eine Prozessfarbe enthält.

Das angehägte Profil enthält Prüfungen, welche jede der drei möglichen Negations-Arten repräsentieren.

Negation durch Operatoren: "ist nicht enthalten in", "ungleich" oder "trifft nicht zu"

Das Profil enhält folgende zwei Prüfungen: "Schmuckfarbname ist gleich Orange" und "Schmuckfarbname ist ungleich Orange". Im Beispiel-PDF werden mit der ersten Prüfung die zweite Textzeile und mit der zweiten Prüfung die erste Textzeile gefunden.

Der Hintergrund hierzu ist, dass die Eigenschaft: "Name der Schmuckfarbe" ausschließlich Objekte die Schmuckfarbe verwenden, überprüft. Die meisten der Eigeschaften in pdfToolbox besitzen intern derartige Einschränkungen, z.B. wird die Eigenschaft: "Bildauflösung" ausschließlich Bilder finden. Für gewöhnlich arbeiten die Einschränkungen daher intuitiv richtig, aber manchmal ist genau das Verhalten nicht beabsichtigt oder gewünscht - und daher kommt nun die nächste Option mit in Spiel.

Negation durch: "Prüfergebnis invertieren"

In der linken Spalte des "Prüfung bearbeiten"-Dialoges befindet sich eine Checkbox "Prüfergebnis invertieren".

In dem Beispiel-Profil verwendete es "Invertiert: Schmuckfarbname ist gleich Orange". Diese Prüfung findet nun zwei Zeilen Text in unserem Test-PDF: Die eine, welche die Schmuckfarbe "Varnish" verwendet und zusätzlich die Zeile mit der Prozessfarbe.

Für die Eigenschaften:

  • "Referenzierte Prüfung ausführen" und
  • jegliche Sifter-Eigenschaften (Kontextsensitive Objekterkennung)

ist die Option "Prüfergebnis invertieren" nicht möglich und daher ausgegraut. Wenn Sie eine dieser Eigenschaften zu einer Prüfung hinzufügen, bei der das Kontrollkästchen "Prüfergebnis invertieren" bereits aktiviert ist, wird das Kästchen automatisch deaktiviert und ausgegraut. Der Grund dafür ist, dass das Ergebnis ansonsten undefiniert wäre.

Negation durch Hinzufügung einer Bedingung , die nur anschlägt, wenn die Trefferanzahl der weiteren Bedingung "0" ist

Das Profil enthält ausserdem folgende Prüfungen: "Trefferanzahl gleich 0 für Schmuckfarbname Orange" und "Trefferanzahl gleich 0 für Schmuckfarbname Violet". Die zusätzliche Eigenschaft "Trefferanzahl in dieser Prüfung", welche in Beiden verwendet wird ist nicht neu in pdfToolbox 10 - neu ist jedoch, dass dies nun auch verwendet werden kann mit "gleich" 0 (Null).

Diese Eigenschaft arbeitet immer auf Seitenbasis, das heisst bei Verwendung besteht die Prüfgesamtheit nicht mehr aus den Seitenobjekten als solche, sondern es ist die Seite selber. Es wandelt also die anderen Eigenschaften der Prüfungen (z.B. "Name der Schmuckfarbe") in eine seitenbasierte Prüfung um, welche nur anschlägt, falls die Trefferanzahl auf der Seite mit der in "Trefferanzahl in dieser Prüfung" definierten Anzahl übereinstimmt.

Im Beispielprofil wird nur die Prüfung: "Trefferanzahl gleich 0 für Schmuckfarbname Violet" ein Treffer erzeugen, da diese Schmuckfarbe nicht auf der Seite verwendet wird.

Mit pdfToolbox 10 ist auch eine neue Eigenschaft verfübar: "Trefferanzahl in dieser Prüfung im Dokument", welche die Anzahl der Treffer zählt, jedoch nicht auf der Seiteebene (wie oben dargestellt), sondern für das gesamte Dokument. Somit würde es die anderen Bedingungen in der Prüfung auf Dokument-Ebene umwandeln - egal ob sie eigentlich für Objekte oder Seiten gedacht sind sind.