Thanks for the blog post and repo. It helped me finally get the printing result I was hoping for.
Initially the current code would still show the printer confirmation dialog. I don't know if that is a result of my printer's settings or not. To get it working with no user intervention or dialog I had to add an extra line:
pdf.LoadFromStream(stream);
// in the settings object you can set the printer name and a lot
// of other options. No printer name prints to default.
PdfPrintSettings settings = new PdfPrintSettings();
settings.Color = false;
//new line for no user interaction
settings.PrintController = new StandardPrintController();
pdf.Print(settings);