4

Carbone/dyn. Drucken_02 RichText

In dieser Bsp-Db wird gezeigt, wie man formatierten Text mit der dyn.PrintEngine druckt.

Wichtig hierbei ist, dass nicht das RichText-Feld direkt der Variable im Template zugeordnet wird, sondern der Inhalt des Richtet_Feld mit der Funktion raw() der Templatevariablen zugeordnet wird.

Es ist notwendig die Formatierung-Tags für den Druck sichtbar zu machen.

Es sind auch globale Funktionen enthalten, die zum einen dafür sorgen, Zeilenumbrüche im RichText-Feld korrekt für den Ausdruck vorzubereiten als auch, (wenn notwendig) alle Tags aus dem RichText-Feld zu entfernen.
Dies ist hilfreich, wenn man beispielsweise Text aus anderen Dokumenten per copy/paste reimkopiert. Damit werden auch unnütze Tags mit kopiert.
Bestes Beispiel ist das Kopieren von Text aus einem MS-Word Dokument.
Schaut euch mal den Raw-Wert danach an.

Die entsprechenden Templates befinden sich im Ninox Druckeditor und können von dort auch runter geladen werden.
 

Mehr Informationen findet ihr unter der Dokumentation auf der Carbone Webseite:

https://carbone.io/documentation.html

5 Antworten

null
    • Philip_Canonica
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo zusammen 

    Bei mir werden die Zeilenumbrüche in einem RichText Feld nicht mehr in den Carbone Druck übernommen.

    Um den entsprechenden Code zu überprüfen habe ich mir nochmals das Beispiel von  angeschaut. In der Beispiel-DB passiert nun dasselbe, wie bei mir. 

    Die Zeilenumbrüche werden im Print nicht übernommen. 

    Hat jemand eine Idee an was das liegen könnte?

    Vielen Dank!

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

       
      Es sieht so aus, dass Carbone die Tag-Kombination, welche das Ninox Rich-Text Feld für den Zeilenumbruch verwendet nicht mehr im HTML-Druck anwendet.
      In der Beispiel-Datenbank existiert eine globale Funktion, die diesen Umstand behebt.

      "//
      Funktion um Zeilenumbrüche in formatierten Textfeldern für den Carbone-Body aufzubereiten
      Function to prepare line breaks in formatted text fields for the Carbone body
      //";
      function fx_formTextZeilenumbruch(xText : text) do
          let Text1 := replace(xText, "</div><div><br>", "<div>");
          Text1 := replace(Text1, "</ul><div>", "</ul>");
          Text1 := replace(Text1, "</ol><div>", "</ol>");
          Text1 := replace(Text1, "<div><ul>", "<ul>");
          Text1 := replace(Text1, "<div><ol>", "<ol>");
          Text1 := replace(text(Text1), "</div>", "");
          replace(Text1, "<div>", "<br>")
      end;

      Aufruf erfolgt über: fx_formTextZeilenumbruch(raw('Rich-Text'))

      Entweder ein entsprechendes Funktionsfeld erstellen oder im selbst erstellten JSON-Body integrieren.
      Beim selbst erstellten JSON-Body darauf achten, zu druckende Zahlen und Datumswerte mit der format()- Funktion entsprechend aufzuhübschen.;-)

    • Stefan_Mann
    • vor 10 Monaten
    • Gemeldet - anzeigen

    Hallo Zusammen, ich habe das noch nicht nachvollziehen können. Deine globale Funktion lieber Uwe habe ich integriert, dann ein Funktionsfeld mit der Formel "fx_formTextZeilenumbruch(raw(ACTIVITY))" wobei ACITIVITY mein RichText-Feld ist. Heraus kommt dann: 

    "<br>Ihr Auftrag 199108 (Kd. 110991 / 112353)&nbsp;<br><br>LIEFERANT EXTERN<br>Testweg 15<br>57080 Siegen<br>z. Hd. Frau MUSTER<br><br><br>Sehr geehrte Frau Muster,<br><br>anbei zu Ihren Händen der korrigierte Bericht für die Praxis Musterarzt in Musterstadt.<br><br><span style="font-size: 1em;">Mit freundlichen Grüßen</span><br><br>Stefan Mann"

    An Carbone übergebe ich mit "TEXT: HTML_RICH_TEXT" und im Word Template steht {d.TEXT}.

    Im Druck kommt dann aber dies: 

    Könnt Ihr mir bitte nochmal helfen? Viele Grüße Stefan

      • UweG
      • vor 10 Monaten
      • Gemeldet - anzeigen

       Carbone Template: {d.TEXT:html}

      Man sollte sich auch immer das zugehörige Template ansehen, da dort manchmal gewisse Schreibweisen vorgenommen werden müssen um die gewünschte Ausgabe zu erzielen.

      Hilfreich ist auch die Dokumentation von carbone.io https://carbone.io/documentation.html#html

      • Stefan_Mann
      • vor 10 Monaten
      • Gemeldet - anzeigen

        Danke, es kann so einfach sein... Du hast mich mal wieder gerettet