Тут много вариантов. Для принтера сеть метод лайн - им таблицу (правда, возможно, в извращенном виде) можно нарисовать вручную (и придется подгонять все эти линии, чтобы они были на своем месте).
А почему бы не заюзать например экселевский файл в нем сделать все, что нужно вывести на печать и вывести-таки - это вполне реально (минус, коечно, - надо ставить Office). Можно просто нарисовать все на форме, которая будет печатной, а потом просто Form.PrintForm

(для небольших и не очень серьезных приложений пойдет - у меня бухгалтерия принимает такие распечатки и ничего нормально). А еще ведь кристал репортс, наверно, тоже бы пригодился там думаю, вообще милое дело печатать должно быть, но не юзал

.
По поводу новой страницы:
- Код: Выделить всё
printer.NewPage
по моему так.