我使用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>
....我错过了什么吗?
谢谢
发布于 2012-01-24 20:54:23
你可以试试this 'Pisa-and-Reportlab-pitfalls'我不得不加上这个
def fetch_resources(uri, rel):最重要的是,我仍然在模板中携带我所有的css。另外,请确保您使用的是xhtml2pdf,而不是旧的ho.pisa。
https://stackoverflow.com/questions/8986831
复制相似问题