I got this from another forum, haven't tested it yet:
Dim P As Integer
Dim AvailablePrinters As String
For P = 0 To System.Drawing.Printing.PrinterSettings. _
InstalledPrinters.Count - 1
AvailablePrinters = System.Drawing.Printing.PrinterSettings. _
InstalledPrinters.Item(P)
ListBox1.Items.Add(AvailablePrinters)
Next
That code is for pure vb.net , some adaptation i am sure for using in infopath, or totally rewritten debending on what code you are using. But that should give you the list of installed printers and put in a list box. then the user can select which one to print to. And maybe something like this:
PrintDocument1.PrinterSettings.PrinterName = "Printer Name"
to hard code a particular printer.
I haven't tested them, but i am curious as well. I might try it tomorrow at work.