gpt4 book ai didi

.net - 使用 DocumentViewer 控件时如何设置打印作业的名称?

转载 作者:行者123 更新时间:2023-12-01 18:50:14 26 4
gpt4 key购买 nike

我使用 WPF DocumentViewer 控件来显示 XPS 文档,如下所示:

viewer.Document = xpsDocument.GetFixedDocumentSequence();

单击文档查看器中的打印按钮时,一切打印正常,但打印作业的名称是 System.Windows.Documents.FixedDocumentSequence,这不太理想。

如何设置打印作业的名称?

我知道使用 PrintDialog.PrintDocument() 可以设置名称,但我不知道如何使用 DocumentViewer 控件来设置名称。

最佳答案

我找到了解决方案。

将其添加到 XAML

<Window.CommandBindings>
<CommandBinding Command="ApplicationCommands.Print" PreviewExecuted="CommandBinding_PreviewExecuted" Executed="CommandBinding_Executed" />
</Window.CommandBindings>

这就是后面的代码

private void CommandBinding_PreviewExecuted(object sender, ExecutedRoutedEventArgs e)
{
PrintDialog dialog = new PrintDialog();
if (dialog.ShowDialog() == true)
{
dialog.PrintDocument(Document.DocumentPaginator, "Print Job Title");
}
}

private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
{
//needed so that preview executed works
}

有几点需要注意。如果未绑定(bind) Exectued 事件,则 PreviewExecuted 方法不会发生。不知道为什么。

关于.net - 使用 DocumentViewer 控件时如何设置打印作业的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/588662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com