Have you ever used a code card? It's a personal card of the same size of a credit card, which contains several secret numbers.
My bank, for example, sent me one of those cards, and whenever I want to login on their website I'm required to type one specific secret number. It's just another layer of security, even if a bit silly; it proves to be fairly effective actually, as the number of permitted wrong answers is limited.
One day I was browsing for alternate php-based CMS when I run into Whird. The login page presents the user with a challenge similar to the code cards mentioned above. From which the idea: generate code cards with PHP, send them via email to new users of a CMS and require a code to be typed at each login. 'nuff said.
This code is focused on the "generate pdf" part, I suppose a good way to generate secure codes would be to use a digest of the card number with HMAC, right now it's just concatenation of sha256 and sha512 to make space for sixty hex numbers of three digits.
Do you want to see the result in action? Fill this form (dummy values are ok) to receive a sample of a generated card.