wkhtmltopdf автоматические разрывы страниц

Я использую wkhtmltopdf v0.11.0 rc1 в приложении Rails через wicked_pdf (я знаю, что wicked_pdf не поддерживает новую запись параметров командной строки, я использую свою собственную вилку gem). Я думал, что содержимое, не помещающееся на странице, должно автоматически перетекать на следующую, но это не так — я вижу, что текст просто обрезается, иногда посреди строки.

Я знаю, что могу компоновать свои страницы с помощью page-break-after:always, но это выглядит как грязное жесткое кодирование, и, кроме того, HTML исходит из шаблона ERB, поэтому не всегда очевидно, где разместить разрывы страниц.

Можно ли что-то сделать, чтобы разрывы страниц вставлялись автоматически? Я что-то упускаю из того, как это работает?

Вот как выглядит сгенерированная командная строка

\"c:/program files (x86)/wkhtmltopdf/wkhtmltopdf.exe\"
   --header-html \"file:///C:Users/bleak/AppData/Local/Temp/campaign_report.header.pdf_pdf_1580_0.html\" 
   --footer-html \"file:///C:/Users/bleak/AppData/Local/Temp/campaign_report.footer.pdf_pdf_1580_0.html\"
   --margin-top 20 --margin-bottom 15 --margin-left 5 --margin-right 40
   --page-size \"A4\"   
   page \"file:///C:/Users/bleak/AppData/Local/Temp/campaign_report_cover.pdf_pdf_1580_0.html\" --disable-javascript  
   toc --xsl-style-sheet \"c:/work/morizo/admoney/app/views/layouts/campaign_report.xsl\"  - - 

person HargrimmTheBleak    schedule 24.07.2012    source источник
comment
Попробуйте удалить нижнее поле, поле находится в PDF, а не на сгенерированной странице, поэтому я думаю, что оно упирается в поле, и поэтому вы видите, что оно обрезано.   -  person Yule    schedule 24.07.2012
comment
Пробовал это. Без разницы, контент все равно обрезан. Я вижу, что мне не нужно нижнее поле, хотя...   -  person HargrimmTheBleak    schedule 24.07.2012


Ответы (1)


Оказалось, что это происходит из-за фиксированных размеров div, используемых для переноса разделов документа:

div.page {
  width: 180mm;
  height: 277mm;
  overflow: hidden;
  page-break-after: always;
}

Как только я удалил width и height, автоматический взлом начал работать как положено. Простой.

person HargrimmTheBleak    schedule 24.07.2012
comment
Примите этот ответ, это действительно было решением :) - person Joel Peltonen; 25.07.2012
comment
можешь опубликовать ссылку на свой форк wicked_pdf! Было бы здорово использовать его с 0.11.0 rc1 - person prikha; 14.08.2012
comment
@HargrimmTheBleak Почему 180 мм и 277 мм, а не другие числа? - person Nicholas; 29.04.2016
comment
Это было давно, так что я уже не в курсе деталей. Я предполагаю, что эти числа изначально были адаптированы таким образом, чтобы оставалось достаточно места для верхнего и нижнего колонтитула. - person HargrimmTheBleak; 05.05.2016