在我的WinUI 3.0 - UWP 项目中,我有一个WebView2
显示简单 html 的控件,如下所示。但是当我使用ExecuteScriptAsync调用以下javascript
代码时(如下所示),我收到以下错误:
错误:
检查您的打印机或选择另一台打印机。您选择的打印机不可用或未正确安装。
错误截图:
备注:我的 Windows 10 的默认Print to PDF
打印机没有任何问题,因为我可以从浏览器(MS Edge 或 Google)打印完全相同的 html 页面。
问题:我在这里可能做错了什么,我们可以解决这个问题吗?我认为问题的原因可能与我如何在我的 html 中使用 JavaScript 和/或我如何将参数传递给ExecuteScriptAsync(...)
方法有关。注意:wvTest
正如您可能已经猜到的,是 WebView2 控件的名称。
代码:
//Correctly displays the html page with a simple text: `Test paragraph`
private async void myButton_Click(object sender, RoutedEventArgs e)
{
string sHTML = "<!DOCTYPE html>" +
"<html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">" +
"<head>" +
"<meta charset=\"utf-8\" />" +
"<title>Test Title</title>" +
"</head>" +
"<body>" +
"<p>Test paragraph</p>" +
"<script> window.print();</script>" +
"</body>" +
"</html>";
//System.Diagnostics.Debug.WriteLine(sHTML);
wvTest.NavigateToString(sHTML);
}
//此事件打开Print Dialog
并显示如上所示的消息:
private async void btnPrint_Click(object sender, RoutedEventArgs e)
{
await wvTest.ExecuteScriptAsync(javascriptCode: "window.print();");
}