Преобразование HTML-страницы в PDF
Концептуально это просто.
У меня есть HTML-страница. Я хочу это в формате PDF. Я поднимаю Foxit's PhantomPDF и конвертирую файл.
Проблемы:
- Она слишком широкая и сбрита по бокам (в основном справа)
- Он не знает, что читает, поэтому у меня есть разрывы страниц, которые буквально делят слова пополам по горизонтали.
Как мне успешно преобразовать HTML-страницу в PDF и избежать этих проблем?
Благодарю.
1 ответ
Таким образом, ответом на это стало сочетание нескольких вещей.
1) Мне пришлось отредактировать CSS, чтобы убедиться, что изображения на самом деле остаются в пределах "100%" страницы. Я добавил CSS, чтобы все изображения были максимально использованы на 90%. Это предотвратило любую прокрутку на странице и предотвратило что-либо обрезанное в PDF.
2) Я зашел в раздел "Параметры страницы" в меню "Файл" в браузере, перешел на вкладку "Поля и нижние колонтитулы" и там были места, где были надписи, такие как дата / URL / номер страницы. Я убрал все это, и все было хорошо.
3) Самым сложным было убедиться, что он разделил страницы в правильных местах. Я наконец узнал о свойствах CSS под названием page-break-before
а также page-break-inside
, Я создал классы с каждым из этих наборов так:
// Creates a page break in the PDF right before element with this class
.pagebreak{
page-break-before: always;
}
// Doesn't allow the contents of a div with this class to split across pages.
.nobreak{
page-break-inside: avoid;
}
и когда он был преобразован в PDF, он прочитал их и выложил страницы так, как я хотел. Это было немного утомительно, но я получил именно тот PDF, который хотел!