Jak wywołać okno dialogowe drukowania
Aby umożliwić drukowanie z aplikacji, możesz po prostu utworzyć i otworzyć PrintDialog obiekt.
Przykład
Kontrolka PrintDialog zapewnia pojedynczy punkt wejścia dla interfejsu użytkownika, konfiguracji i przesyłania zadań XPS. Kontrolka jest łatwa w użyciu i można utworzyć wystąpienie za pomocą znaczników lub kodu extensible Application Markup Language (XAML). W poniższym przykładzie pokazano, jak utworzyć wystąpienie i otworzyć kontrolkę w kodzie oraz jak go wydrukować. Pokazuje również, jak upewnić się, że okno dialogowe da użytkownikowi możliwość ustawienia określonego zakresu stron. Przykładowy kod zakłada, że w katalogu głównym dysku C: znajduje się plik 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 otwarciu okna dialogowego użytkownicy będą mogli wybierać z drukarek zainstalowanych na komputerze. Będą one również miały możliwość wybrania składnika zapisywania dokumentów microsoft XPS w celu utworzenia pliku SPECYFIKACJI PAPIERU XML (XPS) zamiast drukowania.
Uwaga
Kontrolka System.Windows.Controls.PrintDialog WPF, która została omówiona w tym temacie, nie powinna być mylona ze składnikiem System.Windows.Forms.PrintDialog windows Forms.
Mówiąc ściśle, możesz użyć PrintDocument metody bez otwierania okna dialogowego. W tym sensie kontrolka może być używana jako niezaświetniony składnik drukowania. Jednak ze względu na wydajność lepiej byłoby użyć AddJob metody lub jednej z wielu Write metod i WriteAsync metody XpsDocumentWriter. Aby uzyskać więcej informacji na ten temat, zobacz Programowe drukowanie plików XPS.
Zobacz też
.NET Desktop feedback
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla