Gis*_*ist 2 pdf report jinja2 weasyprint python-3.7
我正在尝试使用 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
Run Code Online (Sandbox Code Playgroud)
import pandas as pd
from datetime import date
import jinja2, os
#from xhtml2pdf import pisa
from weasyprint import HTML
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
这是我的 HTML 模板中的 HTML 代码
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')
Run Code Online (Sandbox Code Playgroud)
当我查看 Jinja2 生成的代码时,文件路径是正确的:
<td style="text-align:right"><img src="{{ pie_chart }}">
Run Code Online (Sandbox Code Playgroud)
我希望图像显示出来,但它没有被插入到 PDF 中。任何帮助,将不胜感激
我需要做的就是添加file:\\到我的 HTML 模板中:
原来(不工作)
<td style="text-align:right"><img src="{{ pie_chart }}">
Run Code Online (Sandbox Code Playgroud)
在职的
<td style="text-align:right"><img src="file:\\{{ pie_chart }}
Run Code Online (Sandbox Code Playgroud)
简单的解决方案,但不是最明显的
| 归档时间: |
|
| 查看次数: |
1459 次 |
| 最近记录: |