首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jinja2和weasyprint图像路径

jinja2和weasyprint图像路径
EN

Stack Overflow用户
提问于 2018-08-31 07:11:23
回答 1查看 920关注 0票数 1

我的代码使用weasyprint将jinja2模板转换为PDF。一切正常,除了我不能让图像出现在PDF中。

我的文件结构:

代码语言:javascript
复制
dist
src
    img
        image.png
    templates
        statement.html.j2
build.py

"build.py“

代码语言:javascript
复制
import jinja2
import json
import os
import weasyprint
from weasyprint.fonts import FontConfiguration


def main():
    if not os.path.exists('dist'):
        os.makedirs('dist')
    jinja_env = jinja2.Environment(
            loader = jinja2.FileSystemLoader('src/templates')
        )
    css_dir = 'src/css'
    html_tpl = jinja_env.get_template('statement.html.j2')
    with open('sample/json/statement.json', 'r') as f:
        statement = json.load(f)
    statement = statement['statement']
    font_config = FontConfiguration()
    html = html_tpl.render(statement=statement)
    css_files = [weasyprint.CSS(os.path.join(css_dir, filename))
        for filename in os.listdir(css_dir)]
    rendered_html = weasyprint.HTML(
        string=html
    )
    rendered_html.write_pdf(
        'dist/statement.pdf',
        stylesheets=css_files,
        font_config=font_config
    )

if __name__ == '__main__':
    main()

"statement.html.j2“

代码语言:javascript
复制
<img class="img-responsive" src="../img/image.png">

镜像路径是否正确?如何引用模板中的图像?那将会是什么道路呢?或者问题与图像引用无关?

EN

回答 1

Stack Overflow用户

发布于 2021-11-18 10:57:36

这个问题已经在这里得到了回答:Image ignored in PDF rendering with jinja2 and weasyprint

您需要在此处添加base_url='.'

代码语言:javascript
复制
HTML(string=html_out, base_url='.').write_pdf(outfile)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52106531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档