2012-09-20 3 views
0

reportlab을 사용하여 pdf를 생성하고 있습니다. 여기서는 데이터베이스에서 프로파일을 가져옵니다. 데이터베이스에 인쇄하는 동안 각 프로파일이 다음 페이지에 표시되어야합니다. 이 때문에 나는 페이지 좌표를 증가시키면서 값을 인쇄 할 수 없다.Django : drawstring을 위해 reportlab의 값을 늘리십시오.

def reportlab(request): 

    response = HttpResponse(mimetype='application/pdf') 
    response['Content-Disposition'] = 'attachment; filename=somefilename.pdf' 
    buffer = BytesIO() 

    # Draw things on the PDF. Here's where the PDF generation happens. 
    # See the ReportLab documentation for the full list of functionality. 
    child = Child_detail.objects.all() 
    for child1 in child: 
     name = child1.name 
     p = canvas.Canvas(buffer) 
     p.drawString(500, 400, name) 
     p.showPage() 
     p.save() 
    pdf = buffer.getvalue() 
    buffer.close() 
    response.write(pdf) 
    return response 

답변

0

당신은 아마 루프에서 캔버스의 설정 및 저장을 이동하려는, 그래서 당신은 캔버스의 응답에 대한

p = canvas.Canvas(buffer) 
child = Child_detail.objects.all() 
for child1 in child: 
    name = child1.name 
    p.drawString(500, 400, name) 
    p.showPage() 
p.save() 
+0

덕분에 단일 인스턴스를 사용하게하지만 난 한 사용자를 얻고있다 동일한 출력 만. 나는 다른 이름의 전체 목록을 얻지 못하고있다. – somechow

+0

두 개 이상의 Child_detail 레코드가 있는지 확인 하시겠습니까? – Reinbach

+0

예 .. 내 DB에 100 개의 하위 레코드가 있습니다. – somechow

관련 문제