1

在我的 asp.net 网站中,我需要打印标签内的信息。标签内的信息将来自数据库。标签将包含客户姓名、地址、电话号码等数据。我需要将其打印在一张纸上。

在我的网页上,我有一个按钮和一个 HTML 表格。HTML 表由客户信息组成。一切对我来说都很好。我可以得到打印。但我想格式化打印页面上的数据。前任。居中对齐,带有一些字体和字体大小。我不能这样做。

以下是我的打印预览页面在此处输入图像描述

这是我的打印页面 在此处输入图像描述

很好。但我想让打印页面更时尚一点,带有任何徽标。需要增加文本的大小,表格应该居中。如果我能在打印页面中获得表格的边框,那就太好了。基本上我想在打印页面上做一些样式。

我尝试实现 printstyles css,但我无法得到任何结果。

我在“打印”按钮的按钮单击事件期间使用的代码是

protected void btnPrint_Click(object sender, EventArgs e)
{

    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    StringBuilder sb = new StringBuilder();
    sb.Append("<script type = 'text/javascript'>");
    sb.Append("window.onload = new function(){");
    sb.Append("var divToPrint=document.getElementById('print');");
    sb.Append("var printWin = window.open('', '', 'left=0");
    sb.Append(",top=0,width=800,height=600,status=0');");
    //sb.Append("printWin.document.write(<link rel='stylesheet' type='text/css' href='PrintStyle.css' media='print'/>\n);");
    sb.Append("printWin.document.write(divToPrint.outerHTML);");
    sb.Append("printWin.document.close();");
    sb.Append("printWin.focus();");
    sb.Append("printWin.print();}");
    sb.Append("</script>");
    ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());

}

如果有人可以帮助我做到这一点,那就太好了。

4

3 回答 3

2

试试这个,但把你的标签放在 div 里面,然后给 div 像 'mydiv' 的 id,就像我在下面使用的那样。

<html>
<head>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js" > </script> 
<script type="text/javascript">

function PrintElem(elem)
{
    Popup($(elem).html());
}

function Popup(data) 
{
    var mywindow = window.open('', 'my div', 'height=400,width=600');
    mywindow.document.write('<html><head><title>my div</title>');
    /*optional stylesheet*/ //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />');
    mywindow.document.write('</head><body >');
    mywindow.document.write(data);
    mywindow.document.write('</body></html>');

    mywindow.print();
    mywindow.close();

    return true;
}

</script>
</head>

<div id="mydiv">
This will be printed. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a quam at nibh adipiscing interdum. Nulla vitae accumsan ante. 
</div>  
 <input type="button" value="Print Div" onclick="PrintElem('#mydiv')" />
 </body>
 </html>
于 2012-12-27T08:54:34.683 回答
0

此代码仅打印div内容。您应该将 css 链接或样式标记添加到 divToPrint 变量中。

   printWin.document.write('<link rel="stylesheet" type="text/css" href="/style.css">'+ document.getElementById('print'));
于 2012-12-27T07:53:34.913 回答
-1

您需要以这样的形式创建 HTML 表格结构,其中您的标签放在中心,在顶行放置 oyur 徽标,如下所示

<table width="100%" cellspacing="2" cellpadding="0" style="border: 1px solid black;
    height: 100%;">
    <tr>
        <td colspan="3" align="center">
            Your Logo Comes Here
        </td>
    </tr>
    <tr>
        <td>
        </td>
        <td align="center">
            Put Your Lable Here
        </td>
        <td>
        </td>
    </tr>
    <tr>
        <td colspan="3" align="center">
            This is Footer
        </td>
    </tr>
</table>
于 2012-12-27T08:03:33.917 回答