Eine Druckvorlage erstellen oder modifizieren
Bei Bedarf können Sie die Standard-Druckvorlagen modifizieren und weitere, individuell konfigurierte Vorlagen für den PDF-Druck hinterlegen. Dazu benötigen Sie gute Kenntnisse in PERL und JSON. Wenn Sie einen Supportvertrag mit uns haben, helfen Ihnen unsere Kollegen gern.
Achtung
Änderungen an den Standard-Druckvorlagen wirken sich systemweit aus!
Die Struktur einer Druckvorlage variiert zu ihrem Hauptobjekt (Ticket, Artikel, Asset). Vor dem Erstellen einer eigenen Druckvorlage ist es daher sinnvoll, sich einen Überblick über die Struktur des jeweiligen Hauptobjekts zu verschaffen. Anschließend können Sie die Struktur modifizieren oder anhand derer die eigene Druckvorlage erstellen.
Hinweis
Korrekturen am Style und an der Darstellung können Sie im JSON vornehmen. Änderungen am Inhalt (anzuzeigende Daten) können Sie nur an den Grunddaten vornehmen, da der PDF-Druck lediglich die Daten aus dem System bezieht und nichts manipuliert.
Die Struktur der Druckvorlage ermitteln
Navigieren Sie zu Menü
Wählen Sie den Konsolenbefehl Console::Command::Admin::HTMLToPDF::Inspect aus.
(s. auch: Verwendung der Konsole)
Setzen Sie als Parameter den Namen der Vorlage, deren Struktur Ihnen als Grundlage dienen soll. Geben Sie als Namen das Hauptobjekt an (Ticket, Artikel, Asset).
Zum Beispiel für Ticket:
--name Ticket
Klicken Sie auf
, um den Befehl zu starten.In der Konsole wird die Struktur der Vorlage im PEARL-Format angezeigt.
Die Druckvorlage konfigurieren
Für die folgenden Schritte wird die Vorlagen-Struktur verwendet, welche im Vorfeld mittels Konsolenbefehl Console::Command::Admin::HTMLToPDF::Inspect ermittelt wurde.
Entnehmen Sie der in der Konsole angezeigten Struktur den Content.
Kopieren Sie dazu den Codeblock
'content' => {...}
in einen Texteditor.Der
content
dient Ihnen als Grundlage für das Erstellen Ihrer Druckvorlage. Er enthält die im PDF anzuzeigenden Inhalte sowie die Struktur der Vorlage im PERL-Format. Für den Import benötigen Sie jedoch ein valides JSON. Somit müssen Sie den Code entsprechend anpassen (z. B.=>
durch:
und'
durch"
ersetzen).Sie können den Code auch nutzen, um sich an dessen Struktur zu orientieren, wenn Sie das JSON für die Druckvorlage selbst erstellen.
Bearbeiten Sie den Code, um ein valides JSON zu erstellen und um die Druckvorlage nach Wunsch zu gestalten.
Orientieren Sie sich dabei an der Der Aufbau einer Druckvorlage sowie an den Bausteine.
Struktur-Beispiel für Ticket:
{ "Expands" : ["DynamicField","Article","LinkObject","Organisation","Contact"], "Page" : {"Bottom":"15","Left":"20","Right":"15","SpacingFooter":"5","SpacingHeader":"12","Top":"15"}, "Header" : [ { "ID" : "PageLogo", "Style" : {"Float":"left","Height":"2.5rem","Width":"2.5rem"}, "Type" : "Image", "TypeOf" : "DB", "Value" : "agent-portal-logo" }, { "ID" : "PageTitle", "Style" : {"Float":"right","Size":"0.9rem"}, "Type" : "Text", "Value" : "<KIX_CONFIG_Ticket::Hook>Ticket.TicketNumber.Value" } ], "Content" : [ { "ID" : "Title", "Style" : {"Size":"1.1rem"}, "Type" : "Text", "Value" : "Ticket.Title.Value" }, { "ID" : "PrintedBy", "Join" : " ", "Translate" : 1, "Type" : "Text", "Value" : [ "printed by", "<Current_User>", "<Current_Time>" ] }, { "Blocks" : [ { "Allow" : { "CustomerID" : "KEY", "Lock" : "KEY", "Owner" : "KEY", "Priority" : "KEY", "Queue" : "KEY", "Responsoble" : "KEY", "State" : "KEY", "Type" : "KEY" }, "Columns" : [ "<Class_Key><Font_Bold>Key", "<Class_Value>Value" ], "ID" : "InfoTableLeft", "Include" : "DynamicField", "Style" : { "Class" : [ { "CSS" : "width: 40%;", "Selector" : " .Key" }, { "CSS" : "min-width: 40%; max-width: 60%;", "Selector" : " .Value" } ], "Float" : "left", "Width" : "48%" }, "SubType" : "KeyValue", "Translate" : 1, "Type" : "Table" }, {...} ] }, { "Blocks" : [{...}] } ], "Footer" : [ { "ID" : "Paging", "PageOf" : 0, "Style" : {"Float" : "right"}, "Translate" : 1, "Type" : "Page" } ] }
Die Vorlage ist nun erstellt und kann in die KIX Datenbank importiert werden. Gehen Sie dazu vor, wie unter Eine Druckvorlage importieren beschrieben.