预览文档后选择打印机

时间:2016-04-12 07:04:02

标签: c# wpf xaml

我正在使用PrintPreviewDialog。效果很好,但我真的需要允许用户选择打印机,而不是让打印直接进入默认打印机。

1 个答案:

答案 0 :(得分:4)

尝试使用PrintDialog类,例如以下一种方式:

<Button Width="200" Click="InvokePrint">Invoke PrintDialog</Button>

private void InvokePrint(object sender, RoutedEventArgs e)
{
    // Create the print dialog object and set options
    PrintDialog pDialog = new PrintDialog();
    pDialog.PageRangeSelection = PageRangeSelection.AllPages;
    pDialog.UserPageRangeEnabled = true;

    // Display the dialog. This returns true if the user presses the Print button.
    Nullable<Boolean> print = pDialog.ShowDialog();
    if (print == true)
    {
        XpsDocument xpsDocument = new XpsDocument("C:\\FixedDocumentSequence.xps", FileAccess.ReadWrite);
        FixedDocumentSequence fixedDocSeq = xpsDocument.GetFixedDocumentSequence();
        pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job");
    }
}