CSS correct way to go about this task?

Hello to All,
I have a PHP application which manages students that take a course.
After they take a course the instructor must print a certification card for each student.

The cards are on preprinted paper, and right now the school that I am doing this for uses Microsoft Word or Excel to line up the text with the card and then print each card.
I need to print these cards from my PHP app.

Is CSS the right way to go about this? Example.
I need student name 40px from the top of the page and 100px from the left of the page.
How should this be handled? Should i create DIVs first and then style text after?
Im good a tinkering with CSS but not writing it.

The card contains Student Name, Card expiration date, course ID, city, state, instructor name, etc.
For each student a card needs to be created on a new card.

That sounds viable. Wrap all of the content in a div with a top margin of 40px and left margin of 100px, then put the content inside there.

Make sure to put these styles in a print style sheet, though:

<link rel="stylesheet" type="text/css" [COLOR="#FF0000"]media="print"[/COLOR] href="print.css">