2013-04-04 60 views
3

我試圖建立一個視圖,它將自己呈現爲PDF。 每次訪問視圖時,我都會對渲染文檔/表格的結構產生一些隨機問題。 跟蹤錯誤,我已經下來渲染完全靜態的html代碼,並發現, - 每個請求,由此產生的文檔大小不同xhtml2pdf和django,不同的文檔大小

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模板語言

LEN:2573,LEN:2595 LEN:2234, len:2601, len:2244, len:2632,

etc ...(其中一些值重複多次)。

當保存&顯示這些文件 - 他們包含「破碎」的頁面結構,如不正確顯示錶格單元格或其他東西。其中只有一個看起來是正確的。

任何建議在哪裏可以找到問題?

回答

1

我已經經歷過同樣的問題。試圖修復它幾個小時... 我發現的唯一解決辦法是將xhtml2pdf降級到版本0.0.4。

+1

我已經切換到weasyprint這對我來說更好(符合CSS,因此更容易使用,開發者聲稱它甚至可以通過acid2!)。唯一的缺點是大量的依賴關係 – migajek 2013-11-24 08:27:20