Sdílet prostřednictvím


Postupy: Vyvolání dialogového okna Tisk

Pokud chcete poskytnout možnost tisku z aplikace, můžete jednoduše vytvořit a otevřít objekt PrintDialog.

Příklad

Ovládací prvek PrintDialog poskytuje jednotné místo pro uživatelské rozhraní, konfiguraci a odesílání úloh XPS. Ovládací prvek je snadno ovladatelný a lze jej vytvořit pomocí jazyka Extensible Application Markup Language (XAML) nebo kódu. Následující příklad ukazuje, jak vytvořit instanci a otevřít ovládací prvek v kódu a jak z něj tisknout. Také ukazuje, jak zajistit, aby dialogové okno uživateli poskytlo možnost nastavit konkrétní rozsah stránek. Ukázkový kód předpokládá, že v kořenovém adresáři jednotky C: je soubor FixedDocumentSequence.xps.

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");
        }
    }
Private Sub InvokePrint(ByVal sender As Object, ByVal e As RoutedEventArgs)
        ' Create the print dialog object and set options
        Dim pDialog As New PrintDialog()
        pDialog.PageRangeSelection = PageRangeSelection.AllPages
        pDialog.UserPageRangeEnabled = True

        ' Display the dialog. This returns true if the user presses the Print button.
        Dim print? As Boolean = pDialog.ShowDialog()
        If print = True Then
            Dim xpsDocument As New XpsDocument("C:\FixedDocumentSequence.xps", FileAccess.ReadWrite)
            Dim fixedDocSeq As FixedDocumentSequence = xpsDocument.GetFixedDocumentSequence()
            pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job")
        End If
End Sub

Po otevření dialogového okna si uživatelé budou moct vybrat z tiskáren nainstalovaných na svém počítači. Budou mít také možnost vybrat Microsoft XPS Document Writer vytvořit soubor XML Paper Specification (XPS) místo tisku.

Poznámka

System.Windows.Controls.PrintDialog ovládací prvek WPF, který je popsán v tomto tématu, by neměl být zaměňován s System.Windows.Forms.PrintDialog komponentou systému Windows Forms.

Přesněji řečeno, můžete použít PrintDocument metodu bez nutnosti otevření dialogového okna. V tom smyslu lze ovládací prvek použít jako nezoznanou součást tisku. Z důvodů výkonu by však bylo lepší použít metodu AddJob nebo jednu z mnoha Write a WriteAsync metod XpsDocumentWriter. Další informace najdete v tématu Programový tisk souborů XPS.

Viz také