Существует множество примеров печати текстового документа на принтере. Ниже еще один. Надеюсь, это поможет?
public void PrintWord(string strFileName)
{
object oMissing = System.Reflection.Missing.Value;
string strCurrentActivePrinter;
//Start Word and open the test document.
Microsoft.Office.Interop.Word._Application oWord = new Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word._Document oDoc;
oWord.Visible = false;
object oPath = strFileName;
//Get and store the current activeprinter
strCurrentActivePrinter = oWord.ActivePrinter;
//Assign new activeprinter to Word
oWord.ActivePrinter = PDFprinter;
oDoc = oWord.Documents.Open(ref oPath,
ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing);
//print it
object xcopies = 1;
object xpt = false;
object oFalse = false;
oDoc.PrintOut(ref xpt, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref
xcopies, ref oMissing, ref oMissing, ref oMissing, ref
oMissing, ref oMissing, ref oMissing, ref oMissing, ref
oMissing, ref oMissing, ref oMissing);
//close the document
oDoc.Close(ref oFalse, ref oMissing, ref oMissing);
oWord.Options.SaveNormalPrompt = false;
oWord.Options.SavePropertiesPrompt = false;
//Reset activerprinter
oWord.ActivePrinter = strCurrentActivePrinter;
//close word
oWord.Quit(ref oFalse, ref oMissing, ref oMissing);
//Drop our reference to the COM object
//Marshal.ReleaseComObject(oWord);
//Marshal.ReleaseThreadCache();
oDoc = null;
oWord = null;
}