Para nosso PDF de cotação, estou tentando fazer com que uma tabela contendo a fatura do cliente / endereço de entrega flutue na parte inferior da página do PDF, no entanto, quando tento CSS normal, recebo um erro de geração de PDF.
Existe uma maneira de fazer a tabela se ajustar ao final da página? Abaixo está um exemplo do que eu gostaria:
Comentários
- stackoverflow.com/questions/311990/…
Resposta
Você deve definir o tamanho da página @ e o estilo do rodapé como este:
<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>
Comentários
- Isso parece funcionar, exceto se houver muitos itens de linha na cotação, os itens de linha são renderizados atrás da caixa, pois isso não ' para ser empurrado para a próxima página (se necessário)
- Primeiro, obter um bom controle sobre o estilo de PDF com CSS é difícil no Visualforce, então esteja preparado para muito de tentativa e erro. No exemplo acima, uma coisa que você pode fazer é definir a altura do elemento de rodapé com base no número de itens de linha. Portanto, você ' d substitui " 2,5 cm " por uma chamada de método para seu controlador que retorna o número de itens de linha vezes algum valor de tamanho que se correlaciona com o imóvel que um item de linha ocupa em VF.
Resposta
<sethtmlpagefooter name="footer_name" value="on"/> <htmlpagefooter name="footer_name"> <!--- html code --> </htmlpagefooter>
https://mpdf.github.io/headers-footers/headers-footers.html – Cabeçalhos & Rodapés em documentos
Comentários
- Hmm, eu ' Não tenho certeza de que isso funcionará se o PDF estiver sendo gerado no Salesforce. Normalmente, os PDFs são gerados a partir de uma página do Visualforce (e, em seguida, chamando
getContentAsPDF()
no Apex ou definindo orenderAs
atributo do<apex:page>
tag para " pdf "). - Esta resposta também é muito próxima para ser um " despejo de código " (uma resposta em que você fornece um bloco de código, e nenhuma explicação). As respostas são melhores quando você inclui uma explicação. Nesse caso, eu explicaria: o que é " mpdf ", que fornece uma tag especificamente para rodapés e (crucialmente) como para fazer uso disso de dentro do Salesforce.
- Pareceria ser uma biblioteca PHP, portanto, sem relevância para o Salesforce.