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.
Remarque |
---|
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
Concepts
Vue d'ensemble de l'impression
Autres ressources
Microsoft XPS Document Writer (page éventuellement en anglais)