在c#中更改网页的打印格式

时间:2017-07-17 12:38:24

标签: javascript c# html

我有一个页面上有多个图像。我想打印它在网页上显示。 这是网页的图像。

enter image description here

当我打印时,它显示如下图像

enter image description here

我希望它能像在网页中显示一样打印它。

以下是在动态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;
      }

如何实现呢?任何帮助,将不胜感激。

1 个答案:

答案 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 >');
...