Template-basierte HTML Reports

Wie bereits im vorigen Artikel erwähnt, ist es möglich, einen benutzerdefinierten PDF Report mithilfe eines HTML-Templates zu erstellen. Das visuelle Erscheinungsbild wird durch ein HTML-Template und Custom Style Sheets (CSS) gesteuert, während die inhaltlichen Informationen direkt von der Software selbst angefordert oder (optional) aus einem intern erstellten JSON- oder XML-Bericht geparst werden.

Ein vordefiniertes HTML-Template ist in allen Installationspaketen für Desktop und Server/CLI enthalten. Der Screenshot zeigt, wie Sie zu diesem Ordner gelangen:

  1. Klicken Sie auf "Report erstellen…" im Ergebnisfenster und anschließend auf die Schaltfläche "Durchsuchen..."
  2. Es öffnet sich ein neues Fenster im Dateisystem, in dem der Template Ordner gespeichert ist.
  3. Der Ordner namens "overview" beinhaltet alle Komponenten für das vordefinierte Template.

Das vordefinierte Template enthält mehrere Ordner und Dateien

  • index.html: Die Vorlage im HTML-Format
  • overlay.html: enthält das Firmen- und Produktlogo, die im oberen Bereich auf jeder Report-Seite angezeigt werden
  • manifest.xml: eine XML-Datei, die Informationen enthält, die als Inhalt für den Bericht benötigt werden
  • /css: Enthält mehrere style sheets
  • /fonts: Enthält verwendete Schriftarten
  • /img: Enthält verwendete Bilder
  • /scripts: Enthält verwendete JavaScripts

Anmerkung: Es wird dringend empfohlen, eine Kopie der Originalvorlage in einem separaten Ordner zu erstellen, wenn Sie mit der Anpassung eines HTML-basierten Template Reports beginnen.

Die manifest.xml

Die manifest.xml legt die Informationen fest, die von der Engine bereitgestellt werden sollen. Diese Informationen werden verwendet, um die Details im Report auf der Grundlage des HTML-Templates auszufüllen. Standardmäßig werden grundlegende Dokumentinformationen, Ergebnisse der verarbeiteten Profile sowie ein Vorschaubild bereitgestellt. Außerdem können Vergleichsbilder, ein JSON- oder XML-Report sowie Parameter für optionale Dokumentinformationen angefordert werden, um zusätzliche Informationen über das PDF zu erhalten. Diese Teile sind im Manifest standardmäßig auskommentiert. Hier ein Beispiel für einen optionalen Inhalt des manifest.xml:

Wie Sie sehen können, ist der gesamte Abschnitt für den XML-Report auskommentiert, da der Code mit <!-- und --> umschlossen ist. Ganz unten finden Sie den XML-Report Parameter. Wenn Sie einen XML-Report anfordern möchten, müssen Sie nur den Parameter auskommentieren:

Parameter der manifest.xml

Temporär erzeugte Dateien erhalten

<x:keeptemp>false</x:keeptemp>

Wenn diese Option aktiviert ist (true), werden die temporär erzeugten Dateien wie die gefüllte index.html, CSS-Dateien, Bilder, JSON- oder XML-Berichte und verwendete JavaScripts nach Fertigstellung des PDF-Reports nicht gelöscht. Sie werden stattdessen in einem neuen Ordner mit der Endung .html gespeichert. Der Ordnername ist identisch zu der PDF-Datei. Der Ordner wird an dem gleichen Ort gespeichert, an dem sich auch die PDF-Datei befindet.

Optionen

  • false: temporär erzeugte Dateien werden gelöscht (default)
  • true: temporär erzeugte Dateien werden gespeichert

Auflösung für Vorschaubilder

<x:defaults resolution="20"/>

Mit diesem Parameter können Sie den Standardwert für die Auflösung aller Vorschaubilder festlegen. Dieser Wert kann durch die individuellen Einstellungen überschrieben werden.

Optionen

  • resolution: Auflösung in ppi (default: "20")

Grundlegende Informationen über PDF anfordern

<x:dict>
   <x:overview/>
</x:dict>

Falls vorhanden, stehen Dokumentinformationen und Ergebnisse des durchgeführten Profils zur Verfügung, um sie in der HTML-Vorlage zu verwenden.

Visueller Vergleich von Original und bearbeiteter Datei

<x:compare>
   <x:document_a resolution=20/>
   <x:document_b resolution=20/>
   <x:diffresult resolution=20/>
</x:compare>

Vergleichsbaum wird mit einbezogen, wenn Vergleichsressourcen in index.html verwendet werden.

Optionen:

  • resolution: Auflösung in ppi, die für die Darstellung  verwendet wird (default: "20")

Erstellen eines XML-Reports

<x:xmlreport path="xml/report.xml" inkcovres="10" inkcovbox="CropBox"/>

Fordert einen XML-Bericht des durchgeführten Profils an, um mit Hilfe von JavaScript zusätzliche Informationen zu extrahieren, die in dem Bericht verwendet werden können. Die Ermittlung der Farbdeckung erfolgt nur, wenn einer der entsprechenden Parameter vorhanden ist.

Optionen:

  • inkcovres: Auflösung in ppi, die zur Bestimmung der effektiven Farbdeckung jeder Seite im PDF-Dokument verwendet wird (optional, default: "10")
  • inkcovbox: Seitengeometrie Rahmen, für den die effektive Farbdeckung bestimmt wird (optional, default: "CropBox")

Erstellen eines JSON-Reports

<x:jsonreport path="json/report.json" quickcheck="default" />

Fordert einen JSON-Report an, um zusätzliche Informationen zu ermitteln. Diese Option ist seit pdfToolbox 14 verfügbar.

Optionen:

  • path: Zielpfad für JSON-Bericht (default:" json/report.json")
  • quickcheck: Optionaler relativer Pfad zu einer benutzerdefinierten Quickcheck-Konfiguration. Diese Quickcheck-Konfiguration ersetzt die interne Standardkonfiguration (quickcheck="none" schaltet die Standardkonfiguration aus). Mehr zu dem Thema finden Sie hier.

Seitenvorschauen

<x:preview resolution="20" page="1"/>

Wenn dieser Parameter in der manifest.xml vorhanden ist, werden Vorschaubilder für die ausgewählten Seiten erzeugt. Das Vorschaubild der ersten ausgewählten Seite wird zusätzlich auf der Übersichtsseite des Preflight-Reports abgebildet.

Die Vorschaubilder werden als png-Dateien in das Dateisystem exportiert. Der Ordner in der HTML-Zwischenablage lautet:

./img/cals_pages/../../cals_src_a.png

Optionen:

  • resolution: Auflösung in ppi (Default: "20")
  • pageselector: Ausgewählte Seiten für die Vorschaubilder (Default: "1")

Optionale Informationen (ab pdfToolbox 14)

<x:inkamountheatmaps … />
<x:inkcoverage … />
<x:spotcolors … />
<x:separations … />
<x:pageinfo … />

Ab pdfToolbox 14 gibt es fünf neue Parameter, die optionale Informationen über das Dokument liefern. Lesen Sie mehr darüber im nächsten Artikel: Template-basierte HTML Reports – Erzeugung optionaler Informationen.