FPDF-Fehler

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • FPDF-Fehler

    Hallo,

    eigentlich sollten heute Pünktlich zum Jahreswechsel die neuen Vereinsrechnungen sowie der Jahresabschluss erstellt werden. Naja, wie das dann mit automatisierten Dinge ist: Es läuft nicht. naja, ich habe den Cronjob anschließend manuell ausgeführt und erhalte nen ganz tollen FPDF-Fehler:

    Quellcode

    1. FPDF error: Undefined font: helvetica B



    Das komische ist nur, dass ich an dem Code - außer an der Versandart selber (automatischer Postversand bei Rechnungen), die aber nichts mit dem PDF zu tun hat, nichts geändert habe. Naja, habe dann mal meinen Freund Yahoo befragt und auch schon geschaut, ob ich irgendwo eine Variable vergessen habe aber leider brachte mich das nicht zum Erfolg.
  • Versuche einfach mal eine andere Schriftart. Die Fehlermeldung lässt eindeutig darauf schließen, dass die Schrift Helvetica auf dem System nicht vorhanden ist. Vielleicht ging ein Update schief o. Ä. Oder schau mal nach, ob Helvetica bei dir wirklich verfügbar ist. Aber ich denke doch mal, dass die Schrift für dich nicht so essenziell ist, oder?
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • Soweit ich weiß ist die im PDF Standard definierte Standardschrift Helvetica.
    Wenn du andere Schriften als Helvetica nimmst, dann musst du die Schrift entweder einbetten oder die Schrift wird einfach als Vektorgrafik behandelt. Das führt dann zu viel größeren Dateien.

    Ich würde immer empfehlen die Schriftart nicht zu ändern - schau mal nach ob die helvetica.php noch vorhanden ist.
    ... und ob du irgendwo eine andere Schrift auswählst (würde ich nicht empfehlen)
  • Hi,

    ich nutze Arial und FPDF interpretiert dies wohl als Helvetica. Es wundert mich nur sehr, denn die Font-Datei ist im angegebenen Font-Verzeichnis vorhanden und an der PDF-Erstellung habe ich nichts geändert.
    Anscheinend funktioniert es von Gestern auf heute nicht mehr, die Frage ist nur: Wieso.

    Ich habe mittlerweile auch die "aktuelle" Version mit FPDF.org mit den alten Dateien überschrieben - leider ohne Erfolg.

    FPDF ist ja auch so gemein und sagt mir nichtmal 'ne zeile, wo es einen Fehler geben könnte. Allerdings hatte ich heute Vormittag beim "Aktualisieren der benutzer" ein 404-Error, habe die Aktualisierung nochmal ausgeführt und es ging. Ich weiß wirklich nicht, wo der Fehler liegt.
  • Sodele - es geschehen doch noch Wunder. Nachdem ich mir meine gxPDF-Class nochmal angesehen habe, ist mir aufgefallen, dass ich ein

    Quellcode

    1. parent::__construct();


    vergessen hatte. Nun läuft dat wieder fast so, wie es sollte.

    Nur beim erstellen der Vereinsrechnungen hab ich noch ein problem, was eventuell mit mySQL und dessen Replikation zusammen hängt.
    Es wird am Anfang des jahres eine Schleife aller Vereinsmitglieder per Cronjob aufgerufen und dann durch die VereinClass eine Beitragsrechnung für das jeweilige Mitglied erstellt. Soweit, so gut. Nun werden die Rechnungsnummern folgendermaßen zusammen gesetzt:

    Quellcode

    1. $rechungNr = $result['ID']+1;
    2. $rechungNr = str_pad($rechungNr, 6, '0', STR_PAD_LEFT);
    3. $rechungNr = 'BN'.date('y', TIME_NOW).'-'.$rechungNr;


    heißt: Erst wird die letzte ID aus der tabelle der Rechnungen geholt und einfach eins darauf addiert. Ich habe nun aber das Problem, dass die Nummern nicht fortlaufend sind, sondern bei drei Rechnungen immer eine "8" als rechnungsnummer angenommen wurde. Es ist also nicht fortlaufend. Gibts dafür eine Lösung?
  • naja, den Auto_increment darfst du nicht als Rechnungsnummer verwenden.
    Bei deiner Master-Master Replikation ist der nicht immer fortlaufend. Denn wenn gerade nur ein MySQL Master aktiv ist, dann würdest du ja nur 2,4,6,8 erstellen. (bei increment-increment = 2)

    Daher musst du deinen eigenen Zähler haben, den du immer mit einem UPDATE aktualisierst.