Para nuestro PDF de cotización, estoy tratando de obtener una tabla que contenga la factura del cliente / dirección de entrega para flotar en la parte inferior de la página PDF, sin embargo, cuando lo intento CSS habitual Recibo un error de generación de PDF.
¿Hay alguna forma de hacer que la tabla se ajuste al final de la página? A continuación se muestra un ejemplo de lo que me gustaría:
Comentarios
- stackoverflow.com/questions/311990/…
Respuesta
Debes definir el tamaño de @page y el estilo de pie de página de esta manera:
<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>
Comentarios
- Esto parece funcionar, excepto si hay muchas líneas de pedido en la cotización, las líneas de pedido se muestran detrás del cuadro, ya que esto no ' t ser empujado hacia la página siguiente (si es necesario)
- Primero, obtener un buen control sobre el estilo de PDF con CSS es difícil en Visualforce, así que prepárese para mucho de ensayo y error. En el ejemplo anterior, una cosa que podría hacer es establecer la altura del elemento de pie de página en función del número de elementos de línea. Entonces, ' remplazarás los " 2.5cm " con una llamada de método a tu controlador que devuelve el número de artículos de línea multiplicado por un valor de tamaño que se correlaciona con el espacio que ocupa un artículo de línea en VF.
Respuesta
<sethtmlpagefooter name="footer_name" value="on"/> <htmlpagefooter name="footer_name"> <!--- html code --> </htmlpagefooter>
https://mpdf.github.io/headers-footers/headers-footers.html – Encabezados & Pie de página en documentos
Comentarios
- Mmmm, I ' No estoy seguro de que esto funcione si el PDF se genera desde Salesforce. Por lo general, los PDF se generan a partir de una página de Visualforce (y luego se llaman a
getContentAsPDF()
en Apex, o se configura el atributorenderAs
del<apex:page>
etiqueta a " pdf "). - Esta respuesta también es bastante cercana a ser un " volcado de código " (una respuesta en la que proporcionas un bloque de código y sin explicación). Las respuestas son mejores cuando incluye una explicación. En este caso, explicaría: qué es " mpdf ", que proporciona una etiqueta específicamente para pies de página y (fundamentalmente) cómo para hacer uso de esto desde Salesforce.
- Parecería ser una biblioteca PHP, por lo tanto, no tiene ninguna relevancia para Salesforce.