nicbel
I'm new here

Apache FOP - Fo to PDF

Hallo community,

das FOP-Modul von FirstSpirit generiert beschädigte PDF-Dateien wenn die Benennung (.name) der Einträge in einer Contentarealist bestimmte Sonderzeichen wie ein Komma oder Slash beinhalten.

Ich meine den Sectionnamen aus diesem Beispiel:

$CMS_FOR(section,st_cal)$

        Sectionname in CAL: $CMS_VALUE(section.name)$

        $CMS_VALUE(section)$   

$CMS_END_FOR$

Wobei ich den gar nicht ausgeben möchte. Es kommt auch so zu einem Fehler.

Hat jemand eine Lösung für dieses Problem?

MFG,

Nic

0 Kudos
18 Replies

wie lautet den die Fehlermeldung?

wie Christoph schon schrieb: nicht erlaubte Zeichen muessen entsprechend encodiert werden.

http://xmlgraphics.apache.org/fop/fo.html#xml-special-chars

0 Kudos

Anbei die Fehlermeldung beim Generieren.

So wie ich das verstehe bricht FirstSpirit beim Auslesen des Listeneintrags ab.

0 Kudos

fo:table-row is not a valid child element of fo:table-row.

heißt, dass das erzeugte FO-XML nicht gültig ist. Es wird innerhalb eines geöffneten <fo:table-row> Elements ein weiteres <fo:table-row> Element geöffnet wird.

Es würde helfen, wenn Sie sich das erzeugte XML mal anschauen würden. Das geht am einfachsten, indem Sie für den Ausgabekanal die Verarbeitung durch das FOP-Modul entfernen.

0 Kudos

Genau das ist so weil er nach dem ersten setzen von <fo:table-row space-before="5mm"> versucht den Eintrag mit dem Namen "Identifizierung/Anmeldung 1" auszulesen und dann abbricht.

Anbei noch einmal die komplette Log-Datei der Seite.

Wie gesagt, wenn ich die ersten beiden Einträge "Identifizierung/Anmeldung 1" + "Identifizierung/Anmeldung 2" lösche, funktioniert es.

0 Kudos

Dann hängen Sie doch bitte mal die generierte XML-Datei hier an.

0 Kudos

Es ist tatsächlich eine öffnendes table-row-Tag zuviel. Ich frage mich wo das herkommt.

Wenn ich die ersten Einträge lösche ist es nicht da.

Ich habe beide XML-Dateien angehangen.

0 Kudos

Da müssten sie die Absatz- und Formatvorlagen der beiden Absätze noch mal kritisch prüfen. Das XML, was die beiden (zusätzlich) generieren ist in sich schon nicht valide. Dort wird in Zeile 176 eine Zeile geschlossen und als nächstes eine Zelle geöffnet.

Das ganze ist aber ein Problem der Vorlagen und kein Problem des FOP-Modules. Das FOP-Module braucht  valides FO-XML als Ausgangsbasis.

0 Kudos

Ich habe das Problem gefunden. Es liegt in einem ganz anderen Bereich.

Es gibt eine Contentliste mit 2 Spalten (mod_contentlisting_col1) und eine mit 4 Spalten (mod_contentlisting_col2).

Der Redakteur hat zunächst die erste Liste benutzt und einen Eintrag erstellt, dann hat er die Vorlage gewechselt (siehe anbei den Screenshot von der Historie). Damit wurde die Absatzvorlage mod_contentlisting_col1 -> mod_contentlisting_col2 geändert, aber der bereits angelegte Eintrag basiert noch auf dem Snippet snippet_mod_contentlisting_col1.

Kann man die Vorlage des Snippets ebenfalls ändern?

0 Kudos

Nein, den müssten Sie dann neu anlegen.

0 Kudos