Puedes imprimir a través del servicio de Windows:
using System.Drawing;
using System.Drawing.Printing;
public static PrintDocument Imprimir = new PrintDocument();
private static void Imprimir_PrintPage(Object sender, PrintPageEventArgs e)
{
Font fuente_de_texto = new Font("Courier New", 12);
e.Graphics.DrawString(texto_a_imprimir, fuente_de_texto, Brushes.Black, 0, 0);
}
Debes pasarle como variable imp el texto en modo STRING para que lo imprima. Si necesitas un salto de linea agrega al texto de la siguiente manera:
imp = imp + "\n";
public static void imprime(string imp)
{
try
{
texto_a_imprimir = imp;
Imprimir.PrintPage += new PrintPageEventHandler(Imprimir_PrintPage);
Imprimir.Print();
}
catch (Exception e)
{
MessageBox.Show("Error." + e, "Error");
}
}
Debes obtener el texto de alguna parte, junta los datos que obtienes en el form, en un solo STRING.