. . . def informe_peliculas(request): response = HttpResponse(content_type='application/pdf') response['Content-Disposition'] = 'attachment; filename="peliculas.pdf"' buffer = BytesIO() documento = SimpleDocTemplate(buffer, pagesize=A4, rigthMargin=40, leftMargin=40, topMargin=60, bootomMargin=18) contenido = [] estilos = getSampleStyleSheet() cabecera = Paragraph("Listado de Películas", estilos['Heading1']) contenido.append(cabecera) cabecera_tabla = ('Título', 'Género', 'Director') datos = [(pelicula.titulo, pelicula.genero, pelicula.director) for pelicula in Pelicula.objects.all()] tabla = Table([cabecera_tabla] + datos) tabla.setStyle(TableStyle([('GRID', (0, 0), (-1, -1), 1, colors.black),])) contenido.append(tabla) documento.build(contenido) response.write(buffer.getvalue()) buffer.close() return response . . .