を持っていない生成することは本当に典型的なものである:Djangoは - ピサはPDFが、私はPDFをレンダリングするためのDjangoと私のコードを使用していた空間
t = loader.get_template('back/templates/content/receipt.html')
c = RequestContext(request, {
'pagesize': 'A4',
'invoice': invoice,
'plan': plan,
})
html = t.render(c)
result = StringIO.StringIO()
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result)
if not pdf.err:
return HttpResponse(result.getvalue(), mimetype="application/pdf")
そしてreceipt.htmlは珍しいものではありません:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Squizzal Receipt</title>
<style type="text/css">
@page {
size: {{pagesize}};
margin: 1cm;
word-spacing 1cm;
@frame footer {
-pdf-frame-content: footerContent;
bottom: 0cm;
margin-left: 9cm;
margin-right: 9cm;
height: 1cm;
}
}
</style>
</head>
<body>
<h1>Your Receipt</h1>
<<SNIP>>
ですが、pdfの空白は表示されません。すべての言葉は互いに隣り合っています。私は通常のスペースと "& nbsp"を試して、結果は同じです。例えば、上記は "YourReceipt"としてpdfに表示されます。
私がpisaのコマンドラインバージョンを使用しようとすると、単語間にスペースを入れてpdfを生成します。
どのような考えですか?
t.render(c).encode( "UTF-8")のHTML出力をファイルに保存し、コマンドラインバージョンにファイルを送ります。それは何を生み出すのですか? – akonsu
htmlファイルは期待どおりのもので、そのファイルをcmd行pisaに渡すと期待される結果が得られます。現時点では、私はこれをdjangoデーモンを使用してテストしていますが、私もApacheでwsgiを使ってテストしました。私はこれに影響を与える可能性のあることは考えられません。 – Mark
pisa.pisaDocument()の結果をファイルに保存して、PDFビューアでそのファイルを開きます。大丈夫ですか? – akonsu