0
안녕하세요 여러분 python django로 reportlab 라이브러리를 사용하여 약간의 PDF를 만들려고합니다. 일부 텍스트로 일부 PDF를 만들었지 만 html로하는 방법을 모릅니다. 너희들은 내가 drawString을 사용한다면 그것은 나를 보여주기 때문에 <h1>Hello</h1>
또는 html과 같은 무엇인가를 사용하는 예제를 줄 수있다. '<h1>HELLO</h1>"
Django Reportlab HTML을 사용
내 소스를 보여 주겠다.
from reportlab.pdfgen import canvas
from django.http import HttpResponse
from reportlab.lib.pagesizes import letter
from reportlab.lib.utils import ImageReader
import os
from io import BytesIO
import PIL.Image
def index(request):
return HttpResponse('Hola Marcos :D')
def reporte(request):
# Create the HttpResponse object with the appropriate PDF headers.
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="informe.pdf"'
# Create the PDF object, using the response object as its "file."
buffer = BytesIO()
p = canvas.Canvas(response, pagesize=letter)
logo = ImageReader('http://django-unfriendly.readthedocs.io/en/latest/_static/img/python-logo-256.png')
numero =150
uno = 204 - numero
dos = uno
p.drawImage(logo, 250, 500,uno,dos, mask='auto')
p.setLineWidth(.1)
p.setFont('Helvetica',22)
p.drawString(30,750,'Company')
p.setFont('Helvetica',22)
p.drawString(30,725,'Report')
p.setFont('Helvetica-Bold', 12)
p.drawString(480,759,"7/01/1986")
p.line(460,747,560,747)
# Draw things on the PDF. Here's where the PDF generation happens.
# See the ReportLab documentation for the full list of functionality.
suma = (7*75675678567856785)*70+2*9090
suma = str(suma)
resta = 100-9
resta = str(resta)
p.drawString(100, 630, 'Este podria ser el primer informe de empresa con python Django')
p.drawString(100, 600, suma)
p.drawString(100, 590, resta)
p.drawString(100, 570, 'O2A5X1996A3B4B4A6')
# Close the PDF object cleanly, and we're done.
p.showPage()
p.save()
pdf = buffer.getvalue()
buffer.close()
response.write(pdf)
return response
# Create your views here.