簡體   English   中英

使用Pisa / xhtml2pdf在Python中創建PDF

[英]Creating pdfs in Python with Pisa / xhtml2pdf

我知道有很多基於Python創建pdf的問題,但是我沒有看到基於比薩或xhtml2pdf創建pdf的任何問題。

這是我的代碼。

pisa.pisaDocument(cStringIO.StringIO(a).encode('utf-8'),file('mypdf.pdf','wb'))

接着

pisa.startViewer('mypdf.pdf')

我在幾個不同的教程和示例中進行了匯總,但是我嘗試過的每件事總是導致pdf損壞,並且在嘗試打開pdf時收到此消息。

“ Adob​​e Reader無法打開'awesomer.pdf',因為它不是受支持的文件類型,或者因為文件已損壞(例如,它作為電子郵件附件發送且未正確解碼)。”

即使我不在字符串上使用.encode('utf-8'),也會出現此消息。

我究竟做錯了什么? Mac上的編碼是否與此有關?

我建議手動關閉文件,出現類似問題。 嘗試這個:

f = file('mypdf.pdf', 'wb')
pisa.pisaDocument(cStringIO.StringIO(a).encode('utf-8'),f)
f.close()

我建議您執行以下操作:

pdf = pisa.pisaDocument(cStringIO.StringIO(a).encode('utf-8'),file('mypdf.pdf','wb'))
if pdf.err:
     print "*** %d ERRORS OCCURED" % pdf.err 

然后查看錯誤輸出是什么。

我不確定您要編碼的字符串,但這也可能會有所幫助:

pdf = pisa.pisaDocument(cStringIO.StringIO(html.encode(a)).encode('utf-8'),file('mypdf.pdf','wb'))

這取決於如果a需要是HTML編碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM