Jan_Wehe
I'm new here

Übernahme einer Bildreferenz ins PDF

Jump to solution

Hallo zusammen,

ich bin derzeit dabei ein Template zur PDF Generierung zu erstellen, das klappt soweit auch ganz gut.

Aber auf ein Problem bin ich gestoßen:

Ich habe ein Eingabefeld vom Typ CMS_INPUT_DOM, dort kann über den Link Button auch ein Bild eingefügt werden. Gibt es irgendeine Möglichkeit das Bild auszulesen und im PDF anzuzeigen?

Ich habe mir in der Datenbank das XML dazu angeschaut, die firstSpirit Tags werden bei der PDF Generierung aber anscheinend herausgefiltert?

0 Kudos
1 Solution

Accepted Solutions

Hallo Herr Wehe,

das Bild befindet sich nicht "direkt" im DOM, sondern ist über eine Linkvorlage eingebunden, in der wahrscheinlich wieder eine INPUT_PICTURE Komponente verwendet wird. Am einfachsten ist es also das Bild dann in der Linkvorlage auszugeben.

Alles andere wird komplizierter, da in einen DOM ja beliebig viele Links enthalten sein können.

View solution in original post

0 Kudos
8 Replies
feddersen
Community Manager

Hallo Herr Wehe,

Sie können das Bild, wie im HTML Ausgabekanal auch, einfach mittels CMS_REF bei Verwendung des abs:3 bzw. abs:4 Parameters ausgeben. Im Beispielprojekt Mithras-Energy ist ein PDF-Kanal enthalten, dort können sie sich das grundsätzliche Vorgehen mal anschauen.

Viele Grüße

Christoph Feddersen

0 Kudos

Hallo Herr Feddersen,

wenn ich das richtig gesehen habe, dann sind dort die Bilder immer über eine CMS_INPUT_PICTURE Komponente eingebunden. Das Auslesen des Bildes aus CMS_INPUT_DOM ist dann vermutlich nicht möglich?

Dann müssen wir uns etwas anderes überlegen.

Schöne Grüße

Jan Wehe

0 Kudos

Hallo Herr Wehe,

das Bild befindet sich nicht "direkt" im DOM, sondern ist über eine Linkvorlage eingebunden, in der wahrscheinlich wieder eine INPUT_PICTURE Komponente verwendet wird. Am einfachsten ist es also das Bild dann in der Linkvorlage auszugeben.

Alles andere wird komplizierter, da in einen DOM ja beliebig viele Links enthalten sein können.

0 Kudos

Vielen Dank, das funktioniert jetzt! Ich hatte vorher irgendwie einen Denkfehler.

Aber jetzt habe ich noch ein weiteres Problem:

Ich füge über eine Linkvorlage eine Tabelle in meinen DOM-Editor ein. In der Tabellen-Komponente können die Formatvorlagen "subscript" und "superscript" verwendet werden.

Leider werden weder in der HTML- noch in der PDF-Ansicht die Formatvorlagen entsprechend des Ausgabekanals verarbeitet. Stattdessen wird in der Datenbank z.B. <subscript>Meine Daten</subscript> gespeichert.

(Erwarten würde ich <sub>Meine Daten</sub> bzw. <fo:inline vertical-align="sub">Meine Daten</fo:inline>)

0 Kudos

Mich verwirrt etwas, dass Sie in den Zusammenhang von "Datenbank" sprechen? Was meinen Sie damit?

<subscript>Meine Daten</subscript> ist das interne Speicherformat von FirstSpirit. Wie es in der generierten Datei ausgegeben wird, definieren Sie über die Vorlagen.

0 Kudos

Die Datenquellen werden in einer MySQL Datenbank abgebildet. Wenn ich mir über phpMyAdmin anschaue wie die Daten abgespeichert werden, dann sehe ich dort entsprechendes <subscript>Meine Daten</subscript>.

Ich muss noch irgendeinen Denk- bzw. Programmierfehler beim rendern der Tabellen im PDF-Ausgabekanal haben.

Die Formatvorlagen fürs hoch- und tiefstellen funktionieren im "normalen" DOM-Editor, nur innerhalb einer Tabelle werden die Formate nicht angewendet.

Gibt es für die PDF Ausgabe von Tabellen Codebeispiele an denen man sich orientieren kann? Ich habe mich bisher an den Exkurs "FIRSTspirit PDF-Erzeugung" gehalten.

0 Kudos

Wie gesagt, die gespeicherten Daten in der MySQL ist nur das interne Speicherformat von FirstSpirit und entspricht nicht dem, was im HTML bzw. FO-XML (PDF) erzeugt wird. Das also am besten ganz außen vor lassen.

Im Mithras-Energy Projekt sollten sie auch das FO-XML für Tabellen finden. Einfach mal in dem Ausgabekanal danach suchen. Falls Sie allgemeine FOP-Syntax unklar ist, helfen sicher auch die Beispiele des Apache FOP Projektes weiter.

Ich habe es hinbekommen, vielen Dank nochmal für die Hilfe. 🙂

Auf die Idee

<CMS_FUNCTION name="Table" resultname="fr_st_table">

...

</CMS_FUNCTION>

zu nutzen wäre ich alleine wohl nie gekommen, damit klappts super.

0 Kudos