Подтвердить что ты не робот

Wkhtmltopdf Персонажи в одной строке частично разрезаны между страницами

Я работаю над проектом, используя ruby ​​on rails (3.1). Мое требование состоит в том, чтобы создать pdf файл из html-содержимого. Поэтому я использую жемчужину pdfkit.

На некоторых страницах символы в одной строке частично разрезаются между страницами. Когда я конвертирую html в pdf, используя pdfkit gem

версия wkhtmltopdf: wkhtmltopdf - 0.11.0 rc1

операционная система: Linux CentOS 5.5

На изображении ниже показан символ, частично разрезанный между страницами.

Пожалуйста, предложите решение.

Пример 1

enter image description here

Пример 2

enter image description here

4b9b3361

Ответ 1

Я просто наткнулся на это и нашел то, что разрешило проблему для меня. В моем конкретном случае были divs с display: inline-block; margin-bottom: -20px;. Как только я изменил их, чтобы заблокировать и reset нижний край, расщепление линии исчезло. YMMV.

Ответ 2

В соответствии с некоторой документацией, которую я нашел (см. страницу Breaking), это известная проблема и предлагает использовать разрывы страниц CSS для вставки разрывов страниц (при условии, что вы используете исправленные версия QT):

Текущий алгоритм разбивки страницы WebKit оставляет много желательно. В основном webkit сделает все на одну длинную страницу, а затем разрезать его на страницы. Это означает, что если у вас есть два столбца текста, где один вертикально сдвинут на половину строки. Тогда webkit вырезает линию на куски, отображая верхнюю половину на одной странице. А также нижняя половина на другой странице. Он также сломает изображение в два и скоро. Если вы используете исправленную версию QT, вы можете использовать CSS свойство "перерыв страницы" для исправления этого. Нелегко решение этой проблемы, пока это не решится, попробуйте организовать HTML-документов, так что он содержит много строк, на которых могут быть вырезать чисто.

Смотрите также: http://code.google.com/p/wkhtmltopdf/issues/detail?id=9, http://code.google.com/p/wkhtmltopdf/issues/detail?id=33 и http://code.google.com/p/wkhtmltopdf/issues/detail?id=57.

Ответ 3

У меня была проблема с таблицей:

enter image description here

Затем я добавил это в свой CSS:

table, img, blockquote {page-break-inside: avoid;}

Это устранило проблему:

enter image description here

Ответ 4

Проблема с разрезанным текстом - это известная проблема webkit, и разработчики нашли решение внутри wkhtmltopdf. Обновление до 0.12.1 исправит проблему с вырезанным текстом (если вы не хотите тратить время на компиляции, вы можете просто взять двоичный файл здесь: https://github.com/h4cc/wkhtmltopdf-amd64).

Ответ 5

В моем случае проблема была решена путем комментирования следующих css:

html, body {
  overflow-x: hidden;
} 

В общем, проверьте, установлены ли теги overflow как hidden и удалите его или установите для него visible.

Btw, я использую wkhtmltopdf version 0.12.2.1 в Windows 8.