Haben Sie bereits ein Briefpapier / Layout / Hintergrundgrafik, das Sie gerne auch weiterhin auf Ihren Rechnungen verwenden möchten, so ist das ebenfalls mit einer in einen Base64-String konvertierten Grafik-Datei möglich (nicht PDF).
Wir empfehlen, nur statische Inhalte wie Kopfzeile, Logo oder Fußzeile sowie etwaige Hintergrundgrafiken in dieser Grafik einzubetten - so wie das auch bei dem vorgedruckten Briefpapier üblicherweise der Fall ist. Dynamische Inhalte werden über die Felder/Parameter und Variablen befüllt.
Für eine optimale Auflösung im Ergebnis-PDF exportieren Sie eine PNG-Datei im A4-Format bei 200 dpi, diese Grafik-Datei codieren Sie wie oben beschrieben in einen Base64-String und fügen Sie in der vorbereiteten Variable "streamBackground" ein.
Alternativ gehen wir mittlerweile dazu über, sofern das Layout dies erlaubt, den Parameter Logo im Background-Band zu platzieren. Das hat den Vorteil, dass die Bilddatei nicht eingebettet werden braucht und im Fall von Änderungen am Briefpapier keine erneuten Anpassungen an der JRXML-Datei erforderlich sind - sondern beim Layout-Dialog in FreeFinance einfach die Layout-Datei getauscht wird. Das Logo darf 200KB nicht überschreiten.
Es gibt dann einen eigenen Band "Background" (Elementliste links), wo diese Grafik nun in der gewünschten Größe platziert werden kann.
Damit Ihr Layout mit und ohne Option "Briefpapier" funktioniert, befüllen Sie die PrintWhenExpression mit dem Parameter "!$P{isCustomPaper}".
Soll Ihr Hintergrund A4-Format füllend erscheinen, beachten Sie bitte, dass keine pageMargins (bearbeitbar beim obersten Wurzel-Element) verwendet werden können, weil diese auch für den Background-Band gelten. Das bedeutet, dass unter Umständen sämtliche Felder/Elemente in ihrer Position (und eventuell auch Breite) korrigiert werden müssen.