Sorry I've not replied before now. Been busy trying to get all the models to work! So I completed my code using GD before I saw this. I may give it a try, but to be honest, the AP12 and GD are creating 240 labels in 3 seconds, which I don't think is too bad. (Then again, 2400 is about 27 secs, so if your little code beats that ...)
Alas, now run into another problem: I can't get the PDF to read into perl / appear in browser. (Fine if clicked/opened from local folder) I've submitted another post to the Monks, but basically the code is 212K ... but won't proceed beyond 4K whatever I try. And if I can't read it into memory again, I can't send it to browser / zip it or do anything!