1
resposta

[Dúvida] Expotação de PDF com Django

Olá pessoal, tudo bem?

Alguém poderia me ajudar me dizendo como eu faço a exportação de um relatório PDF com o Django?

1 resposta

Para exportar um arquivo PDF com o Django, você pode usar a biblioteca reportlab para gerar PDFs diretamente no seu código. Vou te mostrar um exemplo básico de como fazer isso.

  • Passo 1: Instalar a biblioteca reportlab Primeiro, você precisa instalar a biblioteca reportlab. Você pode fazer isso usando pip:
pip install reportlab
  • Passo 2: Criar a view para gerar o PDF Crie uma view no Django que gere o PDF e o retorne como uma resposta. Aqui está um exemplo simples:
from django.http import HttpResponse
from reportlab.pdfgen import canvas

def gerar_pdf(request):
    # Cria um objeto HttpResponse com o cabeçalho apropriado para PDF
    response = HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = 'attachment; filename="relatorio.pdf"'

    # Cria um canvas do ReportLab
    p = canvas.Canvas(response)

    # Adiciona algum conteúdo ao PDF
    p.drawString(100, 750, "Hello, Django!")

    # Fecha o canvas
    p.showPage()
    p.save()

    return response
  • Passo 3: Mapear a URL para a view Você precisa mapear uma URL para a sua view no arquivo urls.py do seu aplicativo Django:
from django.urls import path
from .views import gerar_pdf

urlpatterns = [
    path('gerar_pdf/', gerar_pdf, name='gerar_pdf'),
]
  • Passo 4: Acessar a URL para gerar o PDF Agora, ao acessar http://localhost:8000/gerar_pdf/ no seu navegador, você deve receber um PDF de exemplo como download.