我正在尝试使用 WebBrowser 控件 Print(( 方法从一个非常基本的 C# 表单应用程序打印,但对于特定的 HTML 文件,似乎什么也没发生。打印与其他HTML文件配合使用正常,唯一的区别是有问题的html文件包含具有不存在图像的图像。我希望忽略不存在的图像并打印文件,但没有打印,甚至没有发生异常。
即使文件具有不存在的引用(例如图像(,我如何以某种方式管理打印?我有什么解决方法?
浏览器仿真已经设置为IE11,并且已经尝试了ExecWB,似乎没有任何效果。
HTML:(图像.jpg不存在(
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width">
</head>
<BODY>
<div class="page">
<table class="table"><tbody><tr><td class="nobotpadding">
<div class="per-details">
<span class="med-text blue mr10">
test text
<img src="/img/image.jpg" alt="" width="14" height="14">
</span>
</div></td></tr></tbody></table>
</div></BODY></HTML>
C#:(加载和打印是窗体上的不同按钮。
public void Load()
{
webBrowser1.Navigate(localhtmlfile);
}
public void Print()
{
webBrowser1.Print();
}
你可以做这样的事情:htmlfilewithimg:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width">
</head>
<BODY>
<div class="page">
<table class="table"><tbody><tr><td class="nobotpadding">
<div class="per-details">
<span class="med-text blue mr10">
test text
<img src="/img/image.jpg" alt="" width="14" height="14">
</span>
</div></td></tr></tbody></table>
</div></BODY></HTML>
The htmlFilewithoutimg:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width">
</head>
<BODY>
<div class="page">
<table class="table"><tbody><tr><td class="nobotpadding">
<div class="per-details">
<span class="med-text blue mr10">
test text
</span>
</div></td></tr></tbody></table>
</div></BODY></HTML>
在 C# 代码中,尝试进入图片内部查看是否有具有图片名称的文件,如果没有图片,则使用第二个 htmlfile喜欢:
public void Load()
{
try
{
Path.GetFileName("img/img");
webBrowser1.Navigate(htmlfilewithimg);
}
catch(Exception ex)
{
webBrowser1.Navigate(htmlfilewithoutimg);
}
}
public void Print()
{
webBrowser1.Print();
}