我有一个页面上有多个图像。我想打印它在网页上显示。 这是网页的图像。
当我打印时,它显示如下图像
我希望它能像在网页中显示一样打印它。
以下是在动态div上显示图像的代码。
HtmlGenericControl div = new HtmlGenericControl("div");
div.Attributes.Add("id", divId);
div.Attributes.Add("class", divClass);
div.Attributes.Add("runat", "Server");
// div.Attributes.Add("style", "border:0px Solid black");
if (divClass == "divleft")
{
diva.Controls.Add(div);
div.Controls.Add(img);
}
else
{
divb.Controls.Add(div);
div.Controls.Add(img);
}
这是打印按钮的代码
<div id="DivMain" runat="server" class="page" >
<div id="diva" runat="server" class="subpage">
</div>
<div id="divb" runat="server" class="subpage2">
</div>
</div>
<div> <input type="button" value="Print Barcode" class="Logout" onclick="javascript: return PrintPanel();" /></div>
<script type="text/javascript">
function PrintPanel() {
//var panel = document.getElementById("<%=DivMain.ClientID %>");
var panel = document.getElementById("ctl00_BodyContentPlaceHolder_DivMain");
//alert(panel.id);
PrintElem(panel.id);
}
function PrintElem(elem) {
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
mywindow.document.write('<html><head><title>' + document.title + '</title>');
mywindow.document.write('</head><body >');
// mywindow.document.write('<div class=page-break></div>');
mywindow.document.write('<h1>' + document.title + '</h1>');
mywindow.document.write(document.getElementById(elem).innerHTML);
mywindow.document.write('</body></html>');
mywindow.document.close(); // necessary for IE >= 10
mywindow.focus(); // necessary for IE >= 10*/
mywindow.print();
mywindow.close();
return true;
}
如何实现呢?任何帮助,将不胜感激。
答案 0 :(得分:0)
您也应该将css文件添加到打印页面:
test
如果您的打印首选项不同,您可以在css中使用以下语句为您的打印页面提供不同的值:
...
mywindow.document.write('<html><head><title>' + document.title + '</title>');
mywindow.document.write('<link rel="stylesheet" href="/*path to css*/"/>');
mywindow.document.write('</head><body >');
...