Für unser PDF-Angebot versuche ich, eine Tabelle mit der Kundenrechnung / Lieferadresse an den unteren Rand der PDF-Seite zu verschieben, wenn ich es jedoch versuche Normales CSS Ich erhalte einen PDF-Generierungsfehler.
Gibt es eine Möglichkeit, die Tabelle am unteren Rand der Seite auszurichten? Unten ist ein Beispiel für das, was ich möchte:
Kommentare
Antwort
Sie sollten die @ Seitengröße und den Fußzeilenstil folgendermaßen definieren:
<apex:page showHeader="false" renderAs="pdf"> <head> <style> @page { size: 21.0cm 29.7cm; margin-top: 1cm; margin-left: 1cm; margin-right: 1cm; margin-bottom: 0cm; } #footer{ position:absolute; left:0; top:26cm; width:20cm; height:2.5cm; } </style> </head> <div> Main Content Here </div> <div> <table style="width:100%;"> <tr><td>Your Footer Text Here</td></tr> </table> </div> </apex:page>
Kommentare
- Dies scheint zu funktionieren, außer wenn das Angebot viele Werbebuchungen enthält, werden die Werbebuchungen hinter dem Feld gerendert, da dies nicht ' wird nicht auf die nächste Seite verschoben (falls erforderlich)
- Erstens ist es in Visualforce schwierig , eine gute Kontrolle über das PDF-Styling mit CSS zu erhalten. Seien Sie also auf eine Menge vorbereitet von Versuch und Irrtum. Im obigen Beispiel können Sie die Höhe des Fußzeilenelements basierend auf der Anzahl der Werbebuchungen festlegen. Sie ' d ersetzen also die " 2,5 cm " durch einen Methodenaufruf an Ihren Controller Dies gibt die Anzahl der Werbebuchungen mal einen Größenwert zurück, der mit der Immobilie korreliert, die eine Werbebuchung in VF einnimmt.
Antwort
<sethtmlpagefooter name="footer_name" value="on"/> <htmlpagefooter name="footer_name"> <!--- html code --> </htmlpagefooter>
https://mpdf.github.io/headers-footers/headers-footers.html – Header & Fußzeilen in Dokumenten
Kommentare
- Hmm, ich ' Ich bin nicht sicher, ob dies funktioniert, wenn die PDF-Datei in Salesforce generiert wird. Normalerweise werden PDFs von einer Visualforce-Seite generiert (und anschließend
getContentAsPDF()
in Apex aufgerufen oder das AttributrenderAs
der<apex:page>
-Tag für " pdf "). - Diese Antwort ist auch ziemlich nah zu einem " -Code-Dump " (eine Antwort, bei der Sie einen Codeblock und keine Erklärung angeben). Antworten sind besser, wenn Sie Erklärungen hinzufügen. In diesem Fall würde ich erklären: Was " mpdf " ist, dass es ein Tag speziell für Fußzeilen bereitstellt und (entscheidend) wie um dies in Salesforce zu nutzen.
- Es scheint sich um eine PHP-Bibliothek zu handeln, daher für Salesforce überhaupt nicht relevant.