Questions & Answers

jgraf
I'm new here

Konvertierung nach PDF mit & und Kyrillischen Zeichen.

Hallo,

ich mรถchte Inhalte als PDF ausgeben welche die unterschiedlichsten Sonderzeichen enthalten.

Dieses sind &, <, > und sowie das Kyrillische Alphabet.

Kommt nรคmlich eines dieser Zeichen in dem Inhalt vor, so bricht der Apache-Compiler mit Fehler ab (bei &)

bzw. es wird in dem erzeugten PDF-Dokument statt des Kyrillischen Schriftzeichens ein # ausgegeben.

Was habe ich versucht ?

In den Projekeinstellung steht:

Conversion rule = Unicode to FOB entities

In den Format_templates steht:

Conversion = Unicode to FOB entities

Test1:

------------------------------

$CMS_VALUE(test)$  ----> schlรคgt fehl mit Fehler

$CMS_VALUE(test.convert2)$ ----> schlรคgt fehl mit Fehler

Test2 mit Negativ-Cast:

--------------------------------------

<![CDATA[$CMS_VALUE(wert)$]]> ----> kein Fehler, jedoch werden manche Zeichen durch # ersetzt, & fรผhrt trotzdem zu Fehler

<![CDATA[$CMS_VALUE(wert.convert2)$]]> ----> kein Fehler, jedoch werden manche Zeichen durch # ersetzt, & fรผhrt trotzdem zu Fehler

Die Formattemplates wurden hierfรผr wie folgt angepasst:

]]>

<fo:block>

   <![CDATA[$CMS_VALUE(#content)$]]>

</fo:block>

<![CDATA[

Auszugebene Objekte sind vom Typ 'DOM' und 'nicht DOM'.

Bei deutsch/englisch funktioniert die Ausgabe bis auf &,<, >.

Ersetze ich & durch &amp; ist zu mindest dieser Fehler behoben, jedoch sollte dieses automatisiert passieren.

GrรผรŸe Joachim Graf

0 Kudos
4 Replies
rusch
I'm new here

Hallo Herr Graf,

vielen Dank fรผr Ihren Beitrag.

Fรผr mich sieht es so aus, als ob der im PDF verwendete Schriftsatz keine kyrillischen Zeichen umfasst. Eine weitere Mรถglichkeit ist, dass das Encoding des PDFs nicht zu den Zeichen passt.

In diesem Fall wird statt des gewรผnschten Zeichens # ausgegeben.

Ich habe den beschriebenen Anwendungsfall hier lokal nachgestellt.

Durch folgende Schritte werden in meinem PDF-Dokument kyrillische Zeichen, die in einer CMS_INPUT_DOM-Eingabekomponente eingegeben sind, fehlerfrei ausgegeben:

  1. Im Vorlagensatz Unicode to FOP entities als Konvertierungs-Regel eingestellt
  2. HTML-Encoding der Sprache auf UTF-8 geรคndert
  3. Schriftart Arial Unicode MS im FirstSpirit-Server installiert (Name: Arial Uni)
  4. Schriftart dem Projekt zugewiesen (Unterpunkt Fonts)
  5. Neue Formatvorlage angelegt (Name: quoted)
  6. Fรผr die Formatvorlage die Option Zitieren auf Ja gestellt
  7. In der Formatvorlage im Prรคsentationskanal als Konvertierung-Regel Unicode to FOP entities ausgewรคhlt
  8. In der Formatvorlage die Schriftart angegeben. Quelltext der Formatvorlage quoted
<fo:block font-family="ArialUni" font-weight="normal" font-size="12pt">$CMS_VALUE(#content)$</fo:block>

Im Anschluss habe ich in einem Dom-Editor die Formatvorlage quoted ausgewรคhlt und folgende Zeichen angegeben: ะะ•ะ—ะชะšะ–ะžะฐะฑะณะฌะฉะฆ <>&. Nach der Generierung wurden mir dann die Zeichen im PDF angezeigt.

Fรผr Text-Eingabekomponenten (z. B. CMS_INPUT_TEXT) bzw. Textwerte lรคsst sich die Quotierung der Zeichen durch die Methode convert2 erreichen:

$CMS_VALUE(pt_text.convert2)$

Hinweis: Beim Verwenden, Einbetten und der Verteilung von Schriften ist auf das Copyright der Schriftart zu achten!

Viele GrรผรŸe,

Sascha Rusch

0 Kudos
MarcusDau
Occasional Collector

Nur ne kleine lustige Anmerkung nebenbei: die Funktionalitรคt "Als PDF anzeigen" aus den Aktionen rechts oben kann auch nicht mit den kyrillischen Zeichen umgehen.

dau_170.jpg

Wรคre glaube ich sinnvoll, wenn der Zeichensatz darin auch solche Zeichen anzeigen kรถnnte!

GrรผรŸe

Marcus

0 Kudos
jgraf
I'm new here

Hallo,

das Problem habe ich durch convert2 und quoting mit CDATA in den Griff bekommen.

Aber es geht weiter.

der Tschechisch Schriftsatz enthรคlt sehr viele Zeichen mit Abostroph, umgekehrtem Dach usw.

Diese werden jetzt auch alle richtig dargestellt mit Ausnahme von r mit umgekehrtem dach darรผber und e mit umgekehrtem Dach darรผber.

S mit umgekehrtem Dach darรผber wird richtig dargestellt !

GrรผรŸe Joachim

0 Kudos

Hallo Herr Graf,

vielen Dank fรผr Ihre Antwort.

Ich habe in meinem Testprojekt (Beschreibung s. o.) die tschechischen Zeichen S mit Hatschek, e mit Hatschek und r mit Hatschek eingefรผgt.

Die Zeichen werden ohne Probleme dargestellt:

pdf_utf8.jpg

Wichtig ist, das im XSL-FO ein Schriftsatz angegeben wird, der alle Zeichen umfasst und der auf allen Endgerรคten installiert ist. Alternativ besteht in PDFs die Mรถglichkeit Schriftarten einzubetten. Wird eine Unicode-Schriftart eingebettet, so werden ebenfalls alle Zeichen angezeigt.

Viele GrรผรŸe,

Sascha Rusch

0 Kudos

Type a product name