I am unable to get the exact problem of yours but regarding controlling the pages to be printed..
May be you can control the number of pages but it can be implemented as intermediate process, before going through the printing process it invokes the program, which will control the document pages .
You can see details regarding this problem on following link...
http://www.c-sharpcorner.com/UploadFile/dbeniwal321/printing-multiple-pages-in-C-Sharp/[
^]