One of the largest fast food franchises in the country needed an administration tool that their restaurants could use to create customised marketing material. This content management system allows franchisees to log in and customise posters, tray liners and menus with specific prices and offers, then send them to be printed.
Designing in Flash
My part in this project involved creating a Flash interface in which users could quickly and easily visualise what the finished poster would look like, and customise certain pieces of text within each item.
The Flash interface was built in ActionScript 3 and it worked by reading in template information via XML which tells it what image and text components exist in each job. The Flash script then uses scaled graphics and embedded fonts to recreate the print item at a size with is more suitable to work with.
The finished print items were often big. Very big. Transforming a 4 foot poster in to a 900px Flash viewport provided a certain number of challenges. Firstly, the original print images all had to be scaled down to a reasonable size. The Flash movie then needed to have a zooming feature which would be intuitive and make it easy to zoom in to larger images to edit specific details.
By using such large scaling factors the importance of pixel perfection in the Flash movie becomes more important than ever. Flash isn’t so good at this. It tends to introduce arbitrary 2px borders around text fields, and font scaling might not be as accurate as you would expect because of Flash’s maximum supported font size issue.
Ending up in PDF
The version of the job which is sent to the printers must be a full size PDF. This was accomplished by sending the XML of the customised job to a PHP script which uses the PDFlib library to re-compose the elements into a PDF, making sure everything is scaled, colour-transformed and laid out correctly.
This was a project that wasn’t without its frustrations, but it was really interesting and gave me a great insight into the world of print media. I learnt a lot more about font dimensions, scaling and colour spaces than I ever expected.