在VB.NET中使用Printdialog打印RTF文件

时间:2012-10-07 15:04:38

标签: vb.net printing rtf printdocument printdialog

我有这段代码:

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.NET printdialog.show()打印rtf文件,因为想要选择特定的打印机进行打印,但我上面的代码我不知道,我怎么能嵌入printdialog这里。

这是必需的,因为我想使用网络上不同系统上可用的打印机打印该文件。现在所有这些可用的打印机都可以在打印对话框中使用,我想要的是使用printdialog()

简单地在我的驱动器中打印特定文件

另外,我试图找到使用printdialogprintdocument打印文件的可能性,但遗憾的是失败了。

修改

我找到http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx但不包括printdialog

1 个答案:

答案 0 :(得分:1)

您将PrintDocument分配给PrintDialogs Document属性,然后将所选的打印机添加到您的文档中。然后,您可以正常打印文档。

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