Contao-Camp 2024
Ergebnis 1 bis 18 von 18

Thema: Webfont in Rechnungs pdf verwenden, wie? ( in iso_document_default.html5 )

  1. #1
    Contao-Nutzer Avatar von electronica
    Registriert seit
    15.02.2010.
    Ort
    sverige
    Beiträge
    33

    Standard Webfont in Rechnungs pdf verwenden, wie? ( in iso_document_default.html5 )

    Wie verwende Ich webfonts in der iso_document_default.html5?

    Hier meine erfolglosen Versuche:

    Im frontend habe ich die webfont erfolgreich so einbinden können:

    PHP-Code:
    @font-face {
        
    font-family'Karla';
        
    srcurl('/files/fonts/karla-regular-webfont.woff2'format('woff2'),
             
    url('/files/fonts/karla-regular-webfont.woff'format('woff');
        
    font-weightnormal;
        
    font-stylenormal;

    jetzt habe ich schon versucht die webfont in die backend fonts.css einzubingen, das ändert jedoch nichts.

    original sieht die betreffende zeile in iso_documents_default.html5 so aus:
    HTML-Code:
    <div style="font-size: 62.5%; font-family: Arial, Helvetica, sans-serif">
    jetzt habe ich versucht:
    HTML-Code:
    <style>@font-face {
        font-family: 'Karla';
        src: url('/files/fonts/karla-italic-webfont.woff2') format('woff2'),
             url('/files/fonts/karla-italic-webfont.woff') format('woff');
        font-weight: normal;
        font-style: normal;
    
    }
    div {
        font-family: Karla;
        font-weight: normal;
    }</style>
    
    <div style="font-size: 62.5%; font-family: Karla">
    sowie:
    HTML-Code:
    <div style="font-size: 62.5%; font-family: Karla;
        src: url('/files/fonts/karla-italic-webfont.woff2') format('woff2'),
             url('/files/fonts/karla-italic-webfont.woff') format('woff');
        font-weight: normal;
        font-style: normal;">
    Beides führt aber nciht dazu, dass die Rechnungs-pdf in der webfont erstellt wird.

    Auch ein Hinzufügen der webfont zur backend fonds.css führt zu keinem Ergebnis.

    (Gleiches Ergebnis habe ich natürlcih mit der isotope_documents)

    Wo ist mein Denkfehler?

  2. #2
    Contao-Nutzer Avatar von electronica
    Registriert seit
    15.02.2010.
    Ort
    sverige
    Beiträge
    33

    Standard

    hab ne lösung gefunden, aber ist das updatesicher?

    contao verwendet ja TCPDF zum erstellen der pdfs. also einfach den typschnitt auf http://fonts.snm-portal.com/ konvertieren und die dort generierten dateien in /vendor/tecnickcom/tcpdf/fonts kopieren.

  3. #3
    Contao-Nutzer Avatar von electronica
    Registriert seit
    15.02.2010.
    Ort
    sverige
    Beiträge
    33

    Standard

    *bump*
    tldr;
    Wie schreibe ich Dateien in /vendor/tecnickcom/tcpdf/fonts ohne dass sie beim nächsten update gelöscht werden?

  4. #4
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dazu habe ich bisher auch keine Lösung gefunden!
    Bin auf die Antworten gespannt

  5. #5
    Contao-Fan Avatar von PaddySD
    Registriert seit
    26.10.2016.
    Ort
    Andechs
    Beiträge
    656

    Standard

    Das sollte doch mittels eigenem Fork machbar sein?

    * bei github oder gitlab tecnickcom/tcpdf forken (da ist irgendwo eine Einstellung, dass man automatisch die Änderungen eingespielt bekommt, nicht vergessen)
    * dann haben wir meinName/tcpdf
    * die gewünschten Dateien dem rep hinzufügen (fonts)
    * in der composer.json des Projekts (die im contao root) Euren fork eintragen
    * in der composer.json Eures forks ein replace für tecnickcom/tcpdf
    * je nach Bedarf müsste man da noch mit private repositories arbeiten (bei gitlab kostenfrei)
    * das übliche composer update

    Sollte klappen.
    Geändert von PaddySD (21.12.2018 um 20:16 Uhr)

  6. #6
    Contao-Nutzer Avatar von electronica
    Registriert seit
    15.02.2010.
    Ort
    sverige
    Beiträge
    33

    Standard

    Man könnte im document template ein vorhandensein der Fonts überprüfen und bei Bedarf die Fonts einfach an die richtige Stelle kopieren?
    Einfacher als extra nen eigenen isotope fork auf github zu erstellen, aber fühlt sich gepfuscht an(?).
    Wenn es keine elegantere Lösung gibt werde ich das wohl so machen.

    edit: PaddySDs Beitrag eben erst gelesen, ich schau mir das mal an, danke:-)

  7. #7
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von PaddySD Beitrag anzeigen
    Das sollte doch mittels eigenem Fork machbar sein?

    * bei github oder gitlab tecnickcom/tcpdf forken (da ist irgendwo eine Einstellung, dass man automatisch die Änderungen eingespielt bekommt, nicht vergessen)
    * dann haben wir meinName/tcpdf
    * die gewünschten Dateien dem rep hinzufügen (fonts)
    * in der composer.json des Projekts (die im contao root) Euren fork eintragen
    * in der composer.json Eures forks ein replace für tecnickcom/tcpdf
    * je nach Bedarf müsste man da noch mit private repositories arbeiten (bei gitlab kostenfrei)
    * das übliche composer update

    Sollte klappen.
    Das sind ja Fonts, die der Betreiber hinzufügt, keine Fonts, die mit einer Erweiterung mitkommen.
    Wenn Du im PDF beispielsweise den Firmenfont verwenden möchtest, ist das möglich, wenn man dort die Fontdatei reinkopiert.
    Bei nächsten Update ist der Font dann aber gelöscht, man muss ihn wieder hinkopieren.

    Es kommt noch schlimmer, denn wenn man nicht dran denkt, wird das PDF nicht lesbar, da es keinen Fallback-Mechanismus gibt, evtl. kommt eine Fehlermeldung.
    Man muss halt dran denken ..

    Die Lösung von electronica ist sicherlich machbar, dazu muss der Ersteller aber auch ein paar Zeilen PHP schreiben können.

  8. #8
    Contao-Fan Avatar von PaddySD
    Registriert seit
    26.10.2016.
    Ort
    Andechs
    Beiträge
    656

    Standard

    Genau meine Idee! Was Du bei einer geforkten Erweiterung hinzufügst, ist rein Dir überlassen, also auch ein Font. Im Grunde gehst Du nur einen Umweg bei der Installation über composer.

    Probier es mal aus, ich hab's gerade getestet. Zumindest soweit, dass ich dem Fork eine Datei hinzufügen konnte, die dann auch installiert wurde.

    • bei github tecnickcom/tcpdf forken
    • dann haben wir do-while/tcpdf
    • die gewünschten Dateien dem rep hinzufügen (die gewandelten fonts, *.z, *.ctg.z, *.php im fonts Ordner), also ganz normal mittels "clone" -> ändern -> "commit" usw
    • in der composer.json von do-while/tcpdf setzt Du folgenden Eintrag:
      Code:
      "replace": 
          {
          "tecnickcom/tcpdf": "*"
          }
      Ausserdem änderst Du noch mindestens den Namen auf do-while/tcpdf und die Version auf 1.0.0
    • in der composer.json des Projekts (die Deiner Contao Installation) setzt Du unter require
      Code:
      "do-while/tcpdf": "1.0.0",
      und
      Code:
      "repositories": [
              {
                  "type": "vcs",
                  "url": "https://github.com/do-while/tcpdf"
              }
          ],
    • jetzt führst Du ein composer update oder composer install aus
    • evtl. musst Du da noch ein Token bei github anfordern


    Im vendor Ordner findest Du jetzt Deine Erweiterung mit den neuen Fonts, im Verzeichnis vendor/tecnickcom sollte allerdings nichts mehr sein...

    Ich hoffe doch, das ist das, was Ihr gesucht habt.

    EDIT: Jetzt hab ich's nochmal genau gelesen... Du musst dann eben für jeden Kunden ein eigenes (kann ja auch privat sein) repo zur Verfügung stellen. Update kein Ding, Du kannst Dir mittels webhook bei github in alle diese Kunden-Repos die Änderungen vom "originalen tcpdf" einfliessen lassen. Alle weiteren Updates laufen wie gewohnt bei einem composer update.
    Geändert von PaddySD (22.12.2018 um 01:19 Uhr)

  9. #9
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.939

    Standard

    Andere Idee:

    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  10. #10
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    @PaddySD:
    Das ist eben der Punkt, ich möchte nicht für einzelne Kunden Anpassungen und Forks machen müssen.

    @fiedsch:
    Deine Idee klingt sehr gut, das muss ich mir mal durchdenken.
    Man kann ja auf das Vorhandensein des AddFonts-Verzeichnisses prüfen und nur dann aktiv werden. Dann wäre es allgemeingültig.
    Tolle Idee!

  11. #11
    Contao-Nutzer Avatar von manjarco
    Registriert seit
    16.11.2010.
    Ort
    Solingen
    Beiträge
    91

    Standard

    Falls noch jemand am Suchen ist hier die Schritte zu eigenen Fonts in pdfs:

    1. Irgendwo in files einen fonts-Ordner anlegen (z.B. files/pdf-fonts)
    2. Sämtliche Dateien aus vendor/tecnickcom/tcpdf/fonts in den neuen Ordner kopieren (oder nur die, die auch genutzt werden sollen)
    3. Eigenen, neuen Font auf http://fonts.snm-portal.com/ konvertieren
    4. Die drei generierten Dateien ebenfalls in den files/pdf-fonts Ordner packen
    5. In app/Resources/contao/config/ eine config.php anlegen
    6. Dort folgendes eintragen:
      Code:
      <?php
      namespace Contao;
      \define('K_PATH_FONTS', TL_ROOT . '/files/pdf-fonts/');
    7. Font im Template per CSS font-family verwenden oder in der obigen config.php den entsprechenden Schnipsel "PDF_FONT_NAME_MAIN" aus der system/config/tcpdf.php übernehmen und verändern
    Geändert von manjarco (27.03.2019 um 17:44 Uhr)

  12. #12
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    796
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard autoload files in composer.json

    Da hilft die composer.json weiter. Darin definiert man einen Abschitt autoload eine Klasse die vor ursprünglichen Klasse Vorrang haben soll.

    Code:
    autoload": {
        "files": ["pfad/zur/datei/class.php"]
    }
    Die class.php ist die abgewandelte Ursprungsdatei. Mehr dazu unter: https://getcomposer.org/doc/04-schema.md#files

  13. #13
    Contao-Fan Avatar von Bas
    Registriert seit
    03.12.2009.
    Ort
    Hamburg
    Beiträge
    555

    Standard

    Zitat Zitat von manjarco Beitrag anzeigen
    Falls noch jemand am Suchen ist hier die Schritte zu eigenen Fonts in pdfs:

    1. Irgendwo in files einen fonts-Ordner anlegen (z.B. files/pdf-fonts)
    2. Sämtliche Dateien aus vendor/tecnickcom/tcpdf/fonts in den neuen Ordner kopieren (oder nur die, die auch genutzt werden sollen)
    3. Eigenen, neuen Font auf http://fonts.snm-portal.com/ konvertieren
    4. Die drei generierten Dateien ebenfalls in den files/pdf-fonts Ordner packen
    5. In app/Resources/contao/config/ eine config.php anlegen
    6. Dort folgendes eintragen:
      Code:
      <?php
      namespace Contao;
      \define('K_PATH_FONTS', TL_ROOT . '/files/pdf-fonts/');
    7. Font im Template per CSS font-family verwenden oder in der obigen config.php den entsprechenden Schnipsel "PDF_FONT_NAME_MAIN" aus der system/config/tcpdf.php übernehmen und verändern
    Ist das so noch immer aktuell? Habe es in einer Contao v4.9.5. so versucht, aber keine Auswirkungen im PDF.
    Habe die Schriftfiles auf http://fonts.snm-portal.com/ erzeugt, die drei Dateien in meinem eigenen Ordern abgelegt und die config erstellt wie beschrieben. Im Template dann mittels
    HTML-Code:
    <span style="font-family:opensanscondensed;">
    versucht anzuzeigen. Hint please.

    Hier noch die vom snm-portal erzeugten Infos:
    FamilyName: opensanscondensed
    Fontname: opensanscondensedb
    Font file compressed (opensanscondensedb.z)
    CIDToGIDMap created and compressed (opensanscondensedb.ctg.z)
    Font definition file generated (opensanscondensedb.php)

  14. #14
    Contao-Fan Avatar von Fachinger
    Registriert seit
    24.04.2016.
    Ort
    Limburg
    Beiträge
    308

    Standard

    Ist der Ordner 'pdf-fonts' freigegeben?

    Gesendet von meinem CLT-L29 mit Tapatalk

  15. #15
    Contao-Fan Avatar von Bas
    Registriert seit
    03.12.2009.
    Ort
    Hamburg
    Beiträge
    555

    Standard

    Zitat Zitat von Fachinger Beitrag anzeigen
    Ist der Ordner 'pdf-fonts' freigegeben?
    Ja, in der Seitenstruktur ist der Ordner öffentlich.

  16. #16
    Contao-Fan Avatar von Fachinger
    Registriert seit
    24.04.2016.
    Ort
    Limburg
    Beiträge
    308

    Standard

    Ich dachte mehr an das BE "System/Datenverwaltung"

    Gesendet von meinem CLT-L29 mit Tapatalk

  17. #17
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    Alternativ kann man auch https://github.com/inspiredminds/con...s#custom-fonts verwenden.

  18. #18
    Contao-Nutzer Avatar von manjarco
    Registriert seit
    16.11.2010.
    Ort
    Solingen
    Beiträge
    91

    Standard

    Zitat Zitat von Bas Beitrag anzeigen
    Im Template dann mittels
    HTML-Code:
    <span style="font-family:opensanscondensed;">
    versucht anzuzeigen. Hint please.
    HTML-Code:
    <span style="font-family:'opensanscondensed';">
    Anführungszeichen bei eigenen font-families nicht nicht vergessen. Sonst fällt mir nicht viel ein.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •