【问题标题】:CSS not rendered by Pisa's pdf generation in DjangoDjango 中 Pisa 的 pdf 生成未呈现 CSS
【发布时间】:2012-02-17 16:47:26
【问题描述】:

我使用 Pisa 从 HTML 生成一个 pdf 文件:

def fetch_resources(uri, rel):
    path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
    return path

def write_pdf(template_src, context_dict, filename):
    template = get_template(template_src)
    context = Context(context_dict)
    html  = template.render(context)
    result = open(filename, 'wb')
    pdf = pisa.pisaDocument(StringIO.StringIO(
        html.encode("UTF-8")), result, link_callback=fetch_resources)
    result.close()

我的 HTML 有一个指向外部 CSS 的链接并且可以正确呈现,但 Pisa 没有使用该 CSS(例如字体大小、表格单元格宽度、文本对齐...)。

<!DOCTYPE html>
<html lang="fr">
<head>
    <link rel="stylesheet" href="/site_media/style/style.css" />
</head>

<body>
....

我错过了什么吗?

谢谢

【问题讨论】:

标签: python css django pisa


【解决方案1】:

你可以试试this 'Pisa-and-Reportlab-pitfalls' 我不得不添加这个

def fetch_resources(uri, rel):

最重要的是,我仍然在模板中携带我的所有 css。还要确保您使用的是xhtml2pdf,而不是旧的 ho.pisa。

【讨论】:

  • 我尝试使用 import xhtml2pdf.pis 而不是 ho.pisa 并添加了 def fetch_resources(uri, rel): 但 css 仍未在 pdf 中呈现...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 2014-04-08
  • 2013-11-04
  • 2014-10-18
  • 1970-01-01
相关资源
最近更新 更多