2016-11-06 26 views
6

Próbuję zrobić PDF kodów QR, ale wkhtmltopdf dodaje losowe dopełnienie w ostatnim wierszu strony, mimo że powinien pasować dobrze. To sprawia, że ​​dobrze w przeglądarce.wkhtmltopdf losowo dodaje dodatkowe dopełnienie do ostatniego wiersza

Pełny kod jest tutaj: https://jsfiddle.net/pxga201s/2/

Polecenie używam go do renderowania jest:

/usr/local/bin/wkhtmltopdf --margin-bottom 0 --margin-left 0 --margin-right 0 --margin-top 0 'file:///path/to/qrcodes-5-6.pdf.html' '/path/to/qrcodes-5-6.pdf' 

Używam wkhtmltopdf 0.12.3 (with patched qt) na Mac 10.10.5.

enter image description here Gdy używam:

tr { 
    page-break-inside: avoid; 
    page-break-after: auto; 
} 

wciąż dodaje padding, ale po prostu popycha go do następnej strony:

enter image description here

+0

Dałeś obraz o wysokości 72mm oraz strona do druku jest 297 mm, co daje 4.125 wierszy, które sprawiają, że ostatni wiersz nie pasuje. Ponadto jest tekst. czego mi brakuje? – LGSon

Odpowiedz

1

Jeśli będziesz zawsze mieć w 4 <tr> tabeli można po prostu zrobić page-break-after: always; na <table> bez podziału strony na elementy <tr>.

A jeśli będziesz miał wszystko w jednej tabeli, a następnie można zrobić coś takiego (bez widoku na <table> przerwie):

tr:nth-child(4n+5){ 
    page-break-inside: avoid; 
    page-break-after: always; 
} 

Testowałem oba i to działa dobrze. Nawet przy znacznie większej liczbie stron.

Aktualizacja

Pełna przykładem https://jsfiddle.net/pxga201s/4/

+0

Masz przykład, ponieważ gdy go wypróbuję, dodaje on dodatkowe losowe dopełnienie. – Petah

+0

Nie ma wiele do zobaczenia, ponieważ jest to po prostu zmiana w css, jak opisałem. Dodałem jsfiddle, abyś mógł to zobaczyć. Używam również wersji 0.12.3, ale w systemie Windows. – jakob