이없는 생성 정말 전형적인 :장고 피사 PDF 파일에 공백이에게 나는 PDF를 렌더링하는 장고와 내 코드를 사용하고
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"결과는 동일합니다. 예를 들어 위의 내용은 pdf에 "YourReceipt"로 표시됩니다.
피사의 명령 줄 버전을 사용하려고하면 단어 사이에 공백이있는 pdf 파일 만 생성됩니다.
의견이 있으십니까?
t.render (c) .encode ("UTF-8")의 HTML 출력을 파일에 저장하고 파일을 명령 줄 버전으로 보내십시오. 그것은 무엇을 생산합니까? – akonsu
html 파일은 예상대로이며, 그 파일을 cmd 라인 pisa에 전달하면 예상 된 결과가 생성됩니다. 지금은 장고 개발자를 사용하여 이것을 테스트하지만 아파치에서 wsgi로 테스트했습니다. 나는 이것에 영향을 줄 수있는 다른 어떤 것도 생각할 수 없다. – Mark
pisa.pisaDocument() 결과를 파일에 저장하고 PDF 뷰어에서 파일을 열어보십시오. 괜찮 니? – akonsu