How to print one Numbers row per page, formatted nicely
One way to accomplish this just using Numbers

The key to this solution is the combination of the INDEX(MATCH()) formulas.  Here is an excellent article on the use of this combination of functions.

Create 2 sheets


one sheet for data
one sheet for printing


In the Data sheet, add a basic table to hold the data.  A header row is useful for reading the formulas as they are added:





In the Print sheet, create a table or tables (one can get creative here, any number of tables or cells to format the printing in any way wished) for a print format.  The cells do not need to be in the same table together as each contains an individual reference to the data table.  The example in the screenshot below uses two tables.





Back on the Data sheet, create table with one or two cells for selecting the record to print:





Now, back in the Print sheet, use the following formulas to display the desired data:


  INDEX(Animal,MATCH(Print Index::B1,Index))
  Where Animal is the column containing the animal name, MATCH looks at the single data selector cell matching the corresponding number in the Index column and then returns the Animal.
  
  INDEX(Legs,MATCH(Print Index::$B$1,$Index))
  Returns the Legs data.
  
  INDEX(Head,MATCH(Print Index::$B$1,$Index))
  Returns the Head data.
  
  INDEX(Feathers,MATCH(Print Index::$B$1,$Index))
  Returns the Feathers data.
  
  INDEX(Size,MATCH(Print Index::$B$1,$Index))
  Returns the Size data.


Even when other data is inserted into the table, the proper value is displayed.  This is unlike VLOOKUP() which has to have the column number returned.  When a new column is inserted, VLOOKUP breaks where INDEX(MATCH()) does not.





Add the conditional formatting as desired to the cells in the Print sheet's table(s).

Back in the Data sheet, select the number corresponding to the animal desired to print.

Select the Print sheet then print as normally. command+P

AppleScript could be used to automate the process of selecting the index number, then printing the Print sheet.

This is a clean and easy way to maintain/update/change the print view without having to reinvent the entire data schema.



Demo: