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é
- PrintDialog
- Dokumenty ve WPF
- Přehled tisku
- zapisovač dokumentů
Microsoft XPS
.NET Desktop feedback