Bookshelf Drivers (Possible to add/subtract books using drivers)?
You could use particle system to emit the books from vertices:



The emitter is a subdivided plane, the origin of the book group (only 3 books on layer 2) is set to the bottom of the book. 

Demofile: http://pasteall.org/blend/29436

Particle settings:

Uncheck Random under 'Emit from:'



Related: Prevent particles at the same place?