Do you have an application installed to handle PDF files (acrobat reader) on the host/client where you are seeing your output?
If yes this should work:
Process.Start(new ProcessStartInfo(filename) { Verb = "PrintTo", UseShellExecute = true, WindowStyle = ProcessWindowStyle.Hidden, CreateNoWindow = true, Arguments = "\"" + printDialog.PrintQueue.FullName + "\"" });