2012-10-07 67 views
0

打印使用PrintDialog類的RTF文件我有這樣的代碼:在VB.NET

Private printDocument1 As New PrintDocument() 
Private stringToPrint As String 

Private Sub ReadFile() 
    Dim docName As String = "print_doc.rtf" 
    Dim docPath As String = fsPathPrintDoc 
    printDocument1.DocumentName = docName 
    Dim stream As New FileStream(docPath + docName, FileMode.Open) 
    Try 
     Dim reader As New StreamReader(stream) 
     Try 
      stringToPrint = reader.ReadToEnd() 
     Finally 
      reader.Dispose() 
     End Try 
    Finally 
     stream.Dispose() 
    End Try 
End Sub 

,我做使用打印:

ReadFile() 
printDocument1.Print() 

我想用VB打印RTF文件。 NET printdialog.show(),因爲在想選擇打印的特定打印機,但我的上面的代碼我沒有任何想法,我怎麼可以在這裏嵌入printdialog

這是必需的,因爲我想使用網絡打印在不同系統上使用的打印機。現在,所有這些可用的打印機在打印對話框中可對我來說,我想要的是簡單地使用printdialog()

而且打印在我的驅動器中的特定文件,我試圖找到一個可能使用printdialogprintdocument但不幸的是打印文件失敗。

編輯:

我發現http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx,但它不包括printdialog

回答

1

你你的PrintDocument分配給PrintDialogsDocument屬性,它然後將所選擇的打印機添加到您的文檔。您然後正常打印文檔。

PrintDialog1.AllowSomePages = True 
PrintDialog1.ShowHelp = True 
PrintDialog1.Document = printDocument1 'Assign your Document here 

Dim result As DialogResult = PrintDialog1.ShowDialog() 

If (result = DialogResult.OK) Then 
    printDocument1.Print() 
End If 
+0

我將如何定義這個代碼我的文件'C:\ temp.rtf' –

+0

,因爲當我輸入'PrintDialog1.Document = 「C:\ temp.rtf」'它讓我錯誤'類型的值'String'不能轉換爲'System.Drawing.Printing.PrintDocument'。' –

+0

您以相同的方式處理打印,將之前創建的打印文檔傳遞給打印對話框,然後一旦選擇了打印機,然後打印它。 –