Нашел ответ, гениально просто и доставляет удовольствие! (Вы также можете использовать поток вместо имени пути в OpenPdfFile)
//create PdfViewer object
PdfViewer viewer = new PdfViewer();
//open input PDF file
viewer.OpenPdfFile(@"c:\input.pdf");
//print PDF document
viewer.PrintDocument();
//close PDF file
viewer.ClosePdfFile();