Как загрузить веб-страницу Django в PDF со всеми css, когда пользователь нажимает кнопку "PDF"? (Именно так, как это выглядит, в PDF)

Я пробовал использовать различные технологии, такие как weasyprint и reportlab, но не смог сделать веб-страницу, которую видит пользователь, в формате pdf. Я прочитал документацию, но, возможно, я пропускаю шаги, но в конечном итоге я хочу взять точную страницу, на которую они смотрят, и когда они нажимают кнопку "PDF", она загружает всю веб-страницу в PDF со всеми css и всем остальным.

Веб-страница содержит графики тепловых карт, сделанные с помощью plotly, иногда на веб-странице может быть 2 графика, а иногда до 20 графиков.

В настоящее время я просто вызываю функцию 'window.print()', но она обрезает графики, и я надеялся, что если я использую weasyprint или подобную технологию, то смогу добиться правильного отображения графиков.

Заранее спасибо.

Вы можете использовать window.print(), а чтобы ваши графики не обрезались в середине страницы, вы можете добавить к ним CSS-класс (например, виджет) и добавить в ваш CSS:

@media print {
  .widget {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
Вернуться на верх