Преобразование HTML-страницы в PDF

Концептуально это просто.

У меня есть HTML-страница. Я хочу это в формате PDF. Я поднимаю Foxit's PhantomPDF и конвертирую файл.

Проблемы:

  1. Она слишком широкая и сбрита по бокам (в основном справа)
  2. Он не знает, что читает, поэтому у меня есть разрывы страниц, которые буквально делят слова пополам по горизонтали.

Как мне успешно преобразовать 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, который хотел!

Другие вопросы по тегам