W przypadku naszej wyceny w formacie PDF staram się uzyskać tabelę zawierającą fakturę / adres dostawy klienta, tak aby znalazła się na dole strony PDF, jednak kiedy spróbuję zwykły CSS Otrzymuję błąd generowania PDF.
Czy istnieje sposób, aby tabela była przeskakiwana do dołu strony? Poniżej znajduje się przykład tego, co chcę:
Komentarze
- stackoverflow.com/questions/311990/…
Odpowiedź
Powinieneś zdefiniować rozmiar @ strony i styl stopki w następujący sposób:
<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>
Komentarze
- To wydaje się działać, z wyjątkiem sytuacji, gdy w ofercie znajduje się dużo elementów zamówienia, a następnie elementy zamówienia są renderowane za ramką, ponieważ nie ' t zostanie przeniesiony na następną stronę (jeśli to konieczne)
- Po pierwsze, uzyskanie dobrej kontroli nad stylami PDF za pomocą CSS jest trudne w Visualforce, więc przygotuj się na wiele prób i błędów. W powyższym przykładzie jedną rzeczą, którą możesz zrobić, jest ustawienie wysokości elementu stopki na podstawie liczby elementów zamówienia. Dlatego ' d zamień " 2,5 cm " na wywołanie metody do kontrolera który zwraca liczbę elementów zamówienia pomnożoną przez jakąś wartość rozmiaru, która jest skorelowana z nieruchomością, jaką element zamówienia zajmuje w VF.
Odpowiedź
<sethtmlpagefooter name="footer_name" value="on"/> <htmlpagefooter name="footer_name"> <!--- html code --> </htmlpagefooter>
https://mpdf.github.io/headers-footers/headers-footers.html – Nagłówki & Stopki w dokumentach
Komentarze
- Hmm, ja ' Nie jestem pewien, czy to zadziała, jeśli plik PDF jest generowany w Salesforce. Zwykle pliki PDF są generowane ze strony Visualforce (a następnie wywołując
getContentAsPDF()
w Apex lub ustawiając atrybutrenderAs
do " pdf "). - Ta odpowiedź jest również bardzo bliska bycie " zrzutem kodu " (odpowiedź, w której podajesz blok kodu bez wyjaśnienia). Odpowiedzi są lepsze, gdy zawierają wyjaśnienia. W tym przypadku wyjaśniłbym: czym " mpdf " jest to, że zapewnia znacznik specjalnie dla stopek i (co najważniejsze) w jaki sposób aby skorzystać z tego w Salesforce.
- Wygląda na to, że jest to biblioteka PHP, a zatem nie ma żadnego znaczenia dla Salesforce.