I have worked with older children who have this sleep problem and this is what I would recommend to parents. What I would do is to start by putting her to bed at the time that she is ready to go to sleep, so if she falls asleep easily at 9 or 9.30 then I would start the bedtime routine a half an hour before that and put her to bed just as she is ready to fall asleep. That way she will learn to associate the bedtime routine with falling asleep and it should cut out the difficulties in getting her to settle. (You might find that she still doesn't settle easily at 9.30 and you have to temporarily have an even later bedtime so that she is able to settle easily). You should be really consistent about the bedtime routine and do everything in exactly the same order each night. Then see what time she naturally wakes up at in the morning. I would do this for about a week just to get her into the routine of falling asleep after the bedtime routine.
Then gradually start waking her up a little bit earlier in the mornings. If you straight away try to start waking her up at 7 a.m. it won't work as she will be too drowsy and won't be able to wake up easily. So I would say every couple of days wake her up 15 minutes earlier. So you might find that she falls asleep at 9.30 p.m. and naturally wakes up at 10 a.m. You would start by waking her up at 9.45 a.m., then a couple of days later wake her up at 9.30 a.m. and so on. But keep the bedtime the same at first so that she keeps falling asleep easily at bedtime. Once you have moved the wake-up time forward by about 30 minutes, then I would start moving bedtime forward by 15 minutes every couple of days so she's going to bed at 9.15 p.m., 9 p.m., etc. Keep moving the wake-up time earlier by 15 minutes every couple of days as well.
It is time-consuming but the only way to do it is to do it gradually like this, it won't work if you try to do it suddenly. And you have to change the morning wake-up time first, before you start to change the bedtime. This means that once you have got to the wake up time you want, you will still need to keep moving bedtime forward for another few days because you started moving the morning wake up time first. Hope this makes sense.