Das Thema war schon einmal hier im Forum aber so richtig habe ich noch eine Lösung gefunden.
Worum geht es?
Ein Kunden möchte gern das Design von seinem eigenen Briefpapier auch auf den Rechnungen vom Shop haben. Die einfachste und beste Variante wäre ein 300dpi Bild als Hintergrund einzubinden. Mittels CSS (background-images) wurde das Bild bei den PDF Einstellung “Body” eingebunden.
Versuch das Bild mit 2780 Pixel x 3508 Pixel wird zwar angezeigt, aber die Position lies sich nicht einstellen. Das Bild hing irgendwo auf der Seite. Versuche mit background-position schlugen alle fehl.
Versuch dann mit einem 96dpi Bild - ungefähr 794 px x 1123 px (ein Vorschlag aus diesem Forum). Das Bild ging zwar sauber über die ganze Seite, aber die Qualität kann man keinem anbieten. Logisch, die Auflösung reicht nicht aus.
Gibt es hier eine Möglichkeit ein eigenen Hintergrund mittels 300dpi Bild sauber einzubinden?
Könnte man hier einen Hintergrund definieren, könnte man sich Logo, Absenderzeile und den Footer sparen und man hätte als Shopbetreiber sein individuelles Briefpapier auch in den PDF-Rechnungen.
Zu Testzwecken habe ich mal bei Shopware_Components_Document die Funktion render() mit mpdf->watermarkImage() erweitert. Das Ergebnis sieht schon mal gar nicht so übel aus. Leider ist das ganze aber nicht Updatesicher. Wenn ich jetzt heraus finden würde, wie ich die Class Document per Plugin beeinflussen könnte, geht es in die richtige Richtung.
Erst hier wird das Hintergrundbild wirklich sauber dargestellt. Leider geht nun diese Variante nicht bei Subshops. Dort müsste man das ganze über die index.tpl löschen können. Und genau das ist das Problem!
Ja, in deiner index.tpl aus dem Document-Ordner einfach CSS einfügen:
body {
{$Containers.Body.style}
background-image: url(' hier link zum bild ');
background-position: top left;
background-repeat: no-repeat;
background-image-resize: 4;
background-image-resolution: from-image;
}
Hierbei handelt es sich ja um eine zusätzliche CSS-Anweisung. Von daher geht nur JPEG bzw. PNG (für bessere Qualität).
Schritt 1:
Eigenes Theme anlegen (falls noch nicht vorhanden). Dann die „index.tpl“ in den Dokumenten-Ordner deines Theme legen.
Schritt 2:
Den oben erwähnten CSS-Code in deine „index.tpl“ einpflegen. Also mit den den Abschnitt body { … }
Schritt 3:
Natürlich dein PNG-Bild per FTP hochladen oder auch per Medienmanager. Dann die URL zum Bild (kompletter Pfad) bei „background-image“ eintragen.