Я пытаюсь создать отчет из фрейма данных pandas, используя Jinja2 и Weasyprint.Я столкнулся с проблемой, когда WeasyPrint неправильно отображает изображения.Изображения статичны и загружены в папку.
Я работал с xhtml2pdf.Это решение работало и создавало отчет, который я хотел.Но стиль был не таким точным, как WeasyPrint.Поэтому я хотел бы перейти к использованию WeasyPrint.
import pandas as pd
from datetime import date
import jinja2, os
#from xhtml2pdf import pisa
from weasyprint import HTML
import matplotlib.pyplot as plt
t.plot.pie(figsize=(5, 5), label="", rot=90, legend=True)
extensionPieChart = f"{imagesFolder}\\extensionPieChart.png"
plt.savefig(extensionPieChart)
t = t.reset_index()
html = jinja2.Environment(loader=jinja2.FileSystemLoader(searchpath='')). \
get_template(f'html_template.html'). \
render(
date=date.today().strftime('%d, %b %Y'),
df=dfTemp.head(),
name = user,
pie_chart = extensionPieChart,
totals = t,
companyImage = companyImage)
print('Converting HTML to PDF')
HTML(string=html).write_pdf(f'{reportsFolder}\\{user} Report.pdf')
Вот HTML-код из моего HTML-шаблона
<td style="text-align:right"><img src="{{ pie_chart }}">
Когда я смотрю на код, сгенерированный Jinja2путь к файлу указан правильно:
<td style="text-align:right"><img src="C:\Users\jg757fe\Desktop\Reports - Copy\Images\extensionPieChart.png">
Я ожидаю, что изображение появится, но оно не будет вставлено в PDF.Любая помощь будет оценена