Weasyprint Python HTML в PDF не печатает все содержимое - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь подготовить отчет, используя Jinja2 и Weasyprint. При этом я использую следующий html-шаблон и вводю в html-таблицу данные в виде таблицы.

<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic 400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="assets/css/main.css">
<style>

</style>
</head>
<body>
<div align = "center" class="container">
        {{table}}
</div>
</body>
</html> 

Я отображаю шаблон следующим образом:

import pandas
from jinja2 import Environment, FileSystemLoader
from weasyprint import HTML, CSS
import seaborn as sns

fmri = sns.load_dataset('fmri')

env = Environment(loader=FileSystemLoader(''))
template = env.get_template("/html_templates/example.html")

variables = {"table": fmri.to_html(classes='table table-bordered',index=False, justify='left')}
html_out = template.render(variables)

HTML(string=html_out).write_pdf("report.pdf", stylesheets=[
    CSS(filename="main.css")])

Итоговый отчет в формате PDF составляет 43 страницы с заголовками таблицы и одним элементом таблицы, как показано на рисунке. пример страницы . Сохранение html_out в виде html-файла и открытие в браузере отображает таблицу без проблем. Есть идеи, что здесь не так?

Редактировать: Кроме того, CSS не применяется должным образом в отчете. Результирующая таблица, когда jinja2 выводит html, показана на следующем изображении: Таблица в браузере

Edit2: печать отчета без css работает нормально, похоже, что файл css вызывает проблемы с печатью.

...