1

私のasp.net Webサイトでは、ラベル内の情報を印刷する必要があります。ラベル内の情報はデータベースから取得されます。ラベルは、顧客名、住所、電話番号などのデータで構成されます。これを紙に印刷する必要があります。

私の Web ページには、ボタンと 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 内にラベルを付けて、「mydiv」のような id を div に付けてください。

<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

ラベルを中央に配置し、一番上の行に以下のような oyur ロゴを配置するような形式で、HTML テーブル構造を作成する必要があります。

<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 に答える