Textformatierung in PDF mit TCPDF

  • Hallo miteinander


    Ich habe Event Booking von joomdonation installiert. Der Entwickler kann mir leider keine Hilfe zu meinem Problem geben. Es geht wohl auch eher um das intergierte TCPDF.


    In der Komponente kann ich Zertifikate erstellen. Gewisse Daten wie das Datum oder den Namen werden aus den gespeicherten Nutzerfelder automatisch generiert wie zum Beispiel [FIRST_NAME] [LAST_NAME]

    Dann wird ein PDF erzeugt zum ausdrucken oder versenden.

    Nun ist das Problem beim formatieren der Texte. Ich kann die Textgrösse bestimmen und die Farbe. Fett oder Kursiv. Nun möchte ich aber alle Buchstaben Gross geschrieben (UPPERCASE).

    Genau diese Formatierung wird zwar im Joomla-Admin beim erstellen des Zertifikates mit dem JCE richtig dargestellt, also Gross, aber dann im PDF nicht mehr.

    Auch Überschriftenformatierungen vom Template werden leider nicht übernommen.


    Habe da jetzt schon viel gegoogelt und die TCPDF-Dateien angeschaut aber keine Ahnung wie ich UPPERCASE nun aktivieren könnte.


    Danke schon mal für jeden Hinweis.

  • TCPDF hat eine Zellen-Funktion, um Zeichen nachzuformatieren. TCPDF interpretiert uppercase nicht im CSS.

    PHP
    $pdf->Cell(50, 6, strtoupper(Lang::trans('supportticketsclient')), 0, 1, 'L', true);

    Eine etwas einfachere Möglichkeit ist, die Ausgabewerte vor der Übergabe an TCPDF selbst mit PHP zu formatieren.

  • Danke addi


    Den ersten Teil deiner Antwort mit dem Code verstehe ich gar nicht :S

    Wo sollte dieser Code den hin?


    Den Wert vorher schon mit PHP zu formatieren hatte ich versucht. Auch hatte ich schon nach Javascript gesucht. Leider alles erfolglos.

    Gebe ich JCE den Code

    PHP
    <?php
    echo strtoupper("Hallo welt!");
    ?>

    ein wird gar nichts ausgegeben.

  • habe grad noch das Plugin Sourcerer getestet. Gebe ich den Code

    <?php

    echo strtoupper("Hallo welt!");

    ?>


    so bei einem Beitrag ein wird dieser korrekt ausgegeben.


    Mache ich das Ganze beim Zertifikat funktioniert es schon in Editor nicht richtig und auf dem PDF erscheint es auch nicht.
    habe auch schon anderer Editor und kein Editor getestet.

  • Tippe mal darauf, dass Sourcerer, Rereplacer bzw. Plugin-Events bei der Ausgabe des PDF nicht aufgerufen werden, darum geht das nicht.


    Entweder müsstest du einem Template Override der Erweiterung dafür nutzen oder, was das äußerste wäre, mit require_once eine Datei von Booking hart überschreiben, eine Datei, welche das Feld vorbereitet oder ausgibt. Ich kenne diese Erweiterung aber nicht und habe das mal mit phocaPDF so gemacht.