Comment : appeler une boîte de dialogue Imprimer

Pour vous permettre d'imprimer depuis votre application, vous pouvez simplement créer et ouvrir un objet PrintDialog.

Exemple

Le contrôle PrintDialog fournit un point d'entrée unique pour UI, la configuration, et la soumission de travaux XPS. Le contrôle est simple d'utilisation et peut être instancié à l'aide du code ou du balisage Extensible Application Markup Language (XAML). L'exemple suivant montre comment instancier et ouvrir le contrôle dans le code et comment imprimer à partir de lui. Il indique également comment garantir que la boîte de dialogue fournira à l'utilisateur l'option de définir une plage de pages spécifique. Cet exemple de code suppose qu'il existe un fichier FixedDocumentSequence.xps dans la racine du lecteur C:.

        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
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");
        }
    }

Une fois que la boîte de dialogue est ouverte, les utilisateurs pourront sélectionner l'une des imprimantes installées sur leur ordinateur. Ils pourront également sélectionner Microsoft XPS Document Writer pour créer un fichier XML Paper Specification (XPS) au lieu d'imprimer.

RemarqueRemarque

Le contrôle System.Windows.Controls.PrintDialog de WPF, qui est abordé dans cette rubrique, ne doit pas être confondu avec le composant System.Windows.Forms.PrintDialog de Windows Forms.

En principe, vous pouvez utiliser la méthode PrintDocument sans jamais ouvrir la boîte de dialogue. Dans ce sens, le contrôle est utilisé comme un composant d'impression inaperçu. Toutefois, pour des raisons de performances, il est préférable d'utiliser la méthode AddJob ou l'une des nombreuses méthodesWrite et WriteAsync du XpsDocumentWriter. Pour plus d'informations à ce sujet, consultez Comment : imprimer des fichiers XPS par programmation.

Voir aussi

Référence

PrintDialog

Concepts

Documents dans WPF

Vue d'ensemble de l'impression

Autres ressources

Microsoft XPS Document Writer (page éventuellement en anglais)