C# 如何在WebBrowser控件中打印背景图像和样式

C# 如何在WebBrowser控件中打印背景图像和样式,c#,html,.net,winforms,webbrowser-control,C#,Html,.net,Winforms,Webbrowser Control,我想通过以下方式打印背景图像: 为此,我将生成html内容,并最终尝试使用以下方式打印文档: webBrowserTest.Print(); 虽然背景图像显示在运行时浏览器中,但打印时不打印。如何在打印期间保留背景图像?页面设置对话框中有一个打印背景颜色和图像设置,在Web浏览器控件和Internet Explorer之间共享 Microsoft Internet Explorer的页面设置存储在以下注册表项中: HKEY_CURRENT_USER\Software\Microsoft\In

我想通过以下方式打印背景图像:

为此,我将生成html内容,并最终尝试使用以下方式打印文档:

 webBrowserTest.Print();
虽然背景图像显示在运行时浏览器中,但打印时不打印。如何在打印期间保留背景图像?

页面设置对话框中有一个打印背景颜色和图像设置,在Web浏览器控件和Internet Explorer之间共享

Microsoft Internet Explorer的页面设置存储在以下注册表项中:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup
打印背景颜色和图像值存储在
Print_Background
键中,该键可以是
yes
no
。您可以使用代码更改设置,但请记住,这些值是系统范围的设置,将影响当前用户的
WebBrowser
控件和Internet Explorer的所有实例:

using (var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
    @"Software\Microsoft\Internet Explorer\PageSetup", true))
{
    key.SetValue("Print_Background", "yes", Microsoft.Win32.RegistryValueKind.String);
}
以下是我使用的测试html:

<html>
  <head>
    <style>
     body { background-image: url("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"); } 
    </style>
  </head>
  <body>
  </body>
</html>

正文{背景图像:url(“https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"); } 

非常感谢,但它不起作用,因为我进行了静默打印,您帮助我在没有对话框的情况下静默打印HTML,您可以帮助我根据这些情况保留背景图像吗?没问题,第一个选项(设置注册表项)应该可以。您只需要确保设置正确。我需要以编程方式进行设置,因此我在我的
PageSetup
方法中复制并粘贴了您的代码块,但它不起作用,我编辑了我的问题。请您看一下。我将重置您对问题所做的编辑,因为这会使答案变得毫无意义。我来看看你问题的编辑历史记录中仍然可以访问的代码。你发现问题了吗
<html>
  <head>
    <style>
     body { background-image: url("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"); } 
    </style>
  </head>
  <body>
  </body>
</html>