Hi, wer in seinen Rechnungen das Logo oben mittig haben möchte, kann die nachfolgende Anpassung verwenden. So sieht das Ergebnis aus: Datei die angepasst werden muss: admin/includes/gm/classes/gmOrderPDF.php Updatesicher: nein, muss nach Update wieder manuell angepasst werden Gambio Version: v4.8.0.2 Hinweis: In früheren gambio Versionen lag die Datei in einem anderen Ordner Suche in der Datei: PHP: /* * -> get Logo */ function getLogo() { $logo_size = getimagesize($this->pdf_logo_path); $mm_x = $logo_size[0] / $this->k; $mm_y = $logo_size[1] / $this->k; if($mm_x > parent::getInnerWidth() / 2) { $size_factor = (parent::getInnerWidth() / 2 - 1) / $mm_x; $mm_x = parent::getInnerWidth() / 2 - 1; $mm_y *= $size_factor; } $pos_x = parent::getLeftMargin() + parent::getInnerWidth() - $mm_x; parent::Image($this->pdf_logo_path, $pos_x, parent::getTopMargin(), $mm_x, $mm_y, substr(strrchr($logo_size['mime'], '/'), 1), $this->pdf_link); parent::SetY(parent::getTopMargin() + $mm_y); } ...und ersetze es hiermit: PHP: /* * -> get Logo */ function getLogo() { $logo_size = getimagesize($this->pdf_logo_path); $mm_x = $logo_size[0] / $this->k; $mm_y = $logo_size[1] / $this->k; $max_width = parent::getInnerWidth() / 2 - 1; if ($mm_x > $max_width) { $size_factor = $max_width / $mm_x; $mm_x = $max_width; $mm_y *= $size_factor; } $pos_x = parent::getLeftMargin() + (parent::getInnerWidth() - $mm_x) / 2; // Logo mittig ausrichten parent::Image($this->pdf_logo_path, $pos_x, parent::getTopMargin(), $mm_x, $mm_y, substr(strrchr($logo_size['mime'], '/'), 1), $this->pdf_link); parent::SetY(parent::getTopMargin() + $mm_y); } Viel Spaß damit. Und wie immer: Verwendung auf eigene Gefahr, ich übernehme keine Haftung. Gruß Peter
Ja, hier der Code dafür PHP: function getLogo(){ $logo_size = getimagesize($this->pdf_logo_path); $mm_x = $logo_size[0] / $this->k; $mm_y = $logo_size[1] / $this->k; $max_width = parent::getInnerWidth() - 2; // Ändere die maximale Breite auf das volle Innere der PDF $size_factor = $max_width / $mm_x; $mm_x = $max_width; $mm_y *= $size_factor; $pos_x = parent::getLeftMargin(); // Keine Verschiebung nach links nötig, da das Logo nun die volle Breite einnimmt parent::Image($this->pdf_logo_path, $pos_x, parent::getTopMargin(), $mm_x, $mm_y, substr(strrchr($logo_size['mime'], '/'), 1), $this->pdf_link); parent::SetY(parent::getTopMargin() + $mm_y);} Bitte sag bescheid ob es geklappt hat. ich hatte es bei mir getestet - da hat es funktioniert. da hast Du leider unrecht. Die Größe wird programmatisch festgelegt, wieviel Platz es im PDF Dokument einnehmen soll. LG Peter
Hallo Peter, erstmal herzlichen Dank für Deine Nachricht. Da ich (leider) absolut NULL-Plan von HTML, PHP & Co. habe - muss ich leider nachfragen: da wo Du "Ändere die maximale Breite auf das volle Innere der PDF" - muss ich da irgendwo noch was eintragen? Also den Code genauso übernehmen funktioniert nicht, kommt ein Fehler im Bezug auf "parent". Sorry wenn ich blöd frage, kenne mich leider wirklich nicht aus, versuche aber gerade hier viel zu lesen und suche nach einer Möglichkeit, mir etwas Wissen um HTML und PHP anzueignen.
Zusatzfrage: Ist es möglich, statt der vorgegebenen 4 Spalten im Fußteil der Rechnung ebenfalls ein Bild zu verwenden? Also ich habe da eine png Datei in der meine Adresse, Steuernummer, Bankverbindung, Kontaktdaten, etc. (also alles was drin sein sollte) mit einigen Logos zusammen. Wäre das möglich?
Hi Martin, eintragen musst Du nichts mehr, der Code ist fertig so. 2 Fragen meinerseits: a) welche Shopversion verwendest Du? b) wie genau lautet die Fehlermeldung? wenn man das ergründen und beheben will, braucht man genaue Angaben. Grundsätzlich ja, allerdings hab ich mich damit bisher nicht auseinandergesetzt und scheue auch den Aufwand, da es im Gegensatz zum Logo viel zeitaufwendiger ist. daher sry wenn ich Dir da nun keine Lösung anbieten will und kann. LG Peter
Da ich das hier schon öfter gelesen habe, hatte ich das in die Signatur (ich hoffe man sieht das?!) mit aufgenommen: v4.8.0.2 mit Honeygrid Theme. Bin ja ganz "frisch". Werde ich später wenn ich auf Arbeit bin, noch einmal reproduzieren und senden. Das geht für mich völlig in Ordnung, die Frage war ja auch erst einmal, ob das grundsätzlich geht, hab noch andere Baustellen vorab und das Logo oben ist erst einmal wichtiger. Melde mich später - und vielen Dank.
Hi Martin, im Anhang findest Du angepasste Datei. Einfach Deine eigene damit überschreiben. Testen kannst Du es, indem Du in Deinem Shop https://shop.pen-schreibwaren.com/admin/gm_pdf.php#gm_pdf_preview aufrufst und dir eine Vorschau anzeigen lässt. LG Peter
Nix zu danken, muss auch fairerweise dazusagen das ich mir so Scripte gerne mal von ChatGPT anpassen lasse, weil ich schreibfaul bin - so auch in deinem Fall. Unterm Strich zählt ja das Ergebnis - schön das es funzt ^^