3

PDFにレンダリングするビューを構築しようとしています。ビューにアクセスするたびに、レンダリングされたドキュメント/テーブルの構造にランダムな問題が発生しました。エラーを追跡して、完全に静的な html コードをレンダリングすることになりました。そして、各リクエストの結果のドキュメント サイズが異なることがわかりました。

    template = get_template(self.get_report_template_name())
    html = template.render(Context({}))
    strobj = StringIO.StringIO()
    pisa.CreatePDF(html.encode("UTF-8"), strobj, encoding='UTF-8')
    return HttpResponse('len: %d' % strobj.len);

ご覧のとおり、まったく同じテンプレートが空のコンテキストでレンダリングされるたびに、何も変わらないことを確認します。とにかく、テンプレートはdjangoテンプレート言語をまったく使用していません

上記のコードは、ページを更新するたびに少し異なる結果を返します

長さ: 2573、長さ: 2595、長さ: 2234、長さ: 2601、長さ: 2244、長さ: 2632、

etc ... (一部の値は複数回繰り返されます)。

これらのドキュメントを保存して表示すると、誤って表示された表のセルなど、「壊れた」ページ構造が含まれています。これらのうちの 1 つだけが正しいように見えます。

問題を見つけるための提案はありますか?

4

1 に答える 1

1

私は同じ問題を経験しました。何時間も修正を試みました...私が見つけた唯一の解決策は、xhtml2pdf をバージョン 0.0.4 にダウングレードすることでした。

于 2013-11-21T12:36:16.367 に答える