1

在我的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();");
}
4

0 回答 0