, nesneyi Çizim farklı render içine yazılabilir aracılığı dönmek için Çizim nesnesini kullanarak örneğin Django Reportlab: PDF oluşturmak ve HTTPResponse ReportLab yılında
d = shapes.Drawing(400, 400)
renderPDF.drawToFile(d, 'test.pdf')
ve Django
, Tuval nesne HttpResponse, örneğin yoluyla gönderilebilir: benim durumumdaresponse = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'filename=test.pdf'
c = canvas.Canvas(response)
, benim sorunum ben yerel dosya sistemine kaydeder Çizim nesnesini kullanarak bir reportlab komut dosyası olması. Şimdi onu Django görünümlerine koydum ve yerel dosya sistemine kaydetmenin bir yolu olup olmadığını merak ederek müşteriye geri yolladım.
Umarım bu soruyu açık bir şekilde anlatabilirim.
Önerileriniz için teşekkürler!
güncellemeleri
bir işlev renderPDF orada çıkıyor:
renderPDF.draw(drawing, canvas, x, y)
verilen tuvalinde çizimi() nesne oluşturmanın.
Teşekkürler! ama sanırım sorumu yanlış anladın ya da çok açık söylemedim. Bunu Canvas nesnesini kullanarak nasıl yapacağımı biliyorum, Drawing() nesnesini httpresponse içine koymak için bir yol arıyorum. – Simon
bu yüzden verdiğiniz örneği anlayabiliyorum: d = Çizim (400, 400), ve sonra: pdf = buffer.getvalue() buffer.close() ve son olarak: response.write (pdf)? – Simon
, Drawing() ile çalışmaz. tuval iyi. örneğinizde yazım hatası var: buffer <-> tmp – Simon