0
James,
I think you're not asking about generating PDF, but already have PDF files you need to print. Using an external process like you're doing always carries the risk of something going wrong outside your code in the external process. It could be related to the version of Adobe reader itself. Or the PDF file that you are printing.
And since you're invoking an external process, you have no control over error handling.
A better way is to load the PDF file in your own program and print it directly from your application without the need of opening other process. Since .NET itself doesn't support PDF, you will have to use a component that supports loading PDF. Adobe itself sells an SDK for PDF, which is discussed in this article:
http://www.c-sharpcorner.com/UploadFile/hirendra_singh/how-to-show-pdf-file-in-C-Sharp/
Another good alternative is the LEADTOOLS SDK, which supports other formats as well, not only PDF. There's a PDF-printing sample project here:
http://support.leadtools.com/SupportPortal/CS/forums/44459/ShowPost.aspx
