6

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へのリンクがあり、適切にレンダリングされますが、CSSはPisaによって使用されません(フォントサイズ、テーブルセル幅、テキスト整列など)。

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

<body>
....

私は何か見落としてますか?

ありがとう

4

1 に答える 1

5

あなたはこれを試すことができます'Pisa-and-Reportlab-pitfalls' 私はこれを追加しなければなりませんでした

def fetch_resources(uri, rel):

その上、私はまだすべてのcssをテンプレート内に持っています。また、古いho.pisaではなくxhtml2pdfを使用していることを確認してください。

于 2012-01-24T12:54:22.850 に答える