I'm not sure but it looks like you are reading the document then disposing of it and not actually doing anything with it before then.
make sure "documentContents" contains something by the time it get to print.
You may try to move this line up
stringToPrint = documentContents
under
documentContents = reader.ReadToEnd()
and see if that makes a difference
Upadte:
I tried testing your code and I am coming up with blank pages also.
My changes di not make a difference.
Another strange thing is the way it gets the data from the pdf file.
Try viewing the data in a text box and see what that shows.
The Data I was showing was not the normal text like a text document but all of the hidden info and text that goes into a PDF document.
you may need to look into something like.
Converting PDF to Text in C#[
^]
or something similar depending what it is your trying to do.
Edit 2:
After some more Testing I added the PDF Viewer to the toolbox.
Got the Idea after viewing several question on how to do it.
Choose Items > com components > Adobe PDF Reader > ok
Next you now have that item in your tool box.
Create a new form and drop the control onto the form and then you can mess with dock or however you want it to to be in the form.
next set up on form one the path to the file you want it to open then open the PDF form passing the path. Then in the on load or a button click (of the pdf form) set:
AxAcroPDF1.src = {file path}
As long as it finds it the pfd loads in that Control.
******* Note *****
The thing about this is you Have to set your build type to X86 or you will get a comm error when trying to run it on a 64 bit system.
once the pdf loads, options to print are there.
As long as Acrobat reader is installed on a system this should work.
Hope this helps, now I know how to do it :)