zoukankan      html  css  js  c++  java
  • 万能打印

         在开发网站或者系统时候,打印功能往往很需要,比如需要打印一篇文章,打印账单,货单等

    打印分为普通打印和套打,普通打印就是直接指定要打印的信息,然后打印即可,套打要有一个规定的格式,比如货单,汇款单,套印单等

     

    套打的时候,一般我们会指定模板作为背景,然后照着背景布局页面,将要打印的信息指定到要打印的位置上,然后就打印就行了

    上次说到套打存折的时候用到了lodop控件,其实打印的方法很多,比如使用IE自带的打印,或者是IE自带的浏览器控件webBrowse,,DLPrinter,墙外打印控件(QWPrint)都可以

    IE自带的打印直接window.print();就可以,也可以通过它打印页面中某一框架内的内容比如

     

    View Code
    <table border="0" align="center" cellpadding="0" cellspacing="0" background="Images/book.bmp" style=" 818px; height: 544px">
      
    <tr>
        
    <td width="32" height="189">&nbsp;</td>
        
    <td colspan="2">&nbsp;</td>
        
    <td style=" 20px">&nbsp;</td>
      
    </tr>
      
    <tr>
        
    <td height="264" rowspan="2">&nbsp;</td>
        
    <td width="666" height="25" style="font-weight: bold; color: #0066cc">当前位置:系统查询 &gt; 借阅信息打印 &gt;&gt;&gt; </td>
        
    <td width="58" align="center" class="word_Green"><href="#" onClick="parent.contentFrame.focus();window.print();">打印</a></td>
        
    <td rowspan="2" style=" 20px">&nbsp;</td>
      
    </tr>
      
    <tr>
        
    <td height="240" colspan="2" align="center" valign="middle" bgcolor="#FFFFFF"><iframe name="contentFrame" src="content.aspx"  frameborder="0" width="100%" height="100%" style=" 89%; height: 97%"></iframe></td>
      
    </tr>
      
    <tr>
        
    <td style="height: 21px">&nbsp;</td>
        
    <td colspan="2" style="height: 21px">&nbsp;</td>
        
    <td style=" 20px; height: 21px">&nbsp;</td>
      
    </tr>
    </table>

     

    我们只需要指定框架焦点,然后打印

    parent.contentFrame.focus();window.print();

     

    WebBrowse是一个简单的浏览器程序,支持打印,后退,前进,刷新,另存为,保存等功能,可以到网上搜一下方法,在这里,我们来说下,怎么使用它打印

    首先,就像实例化对象一样,创建它,在<head></head>标签中加入

    <object id="WebBrowser" classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2" width="0" height="0">

    </object>

    然后调用其方法打印就行了,支持直接打印,打印预览,页面设置等

    <a href="#" onClick="document.all.WebBrowser.Execwb(7,1)">打印预览</a>

    <a href="#" onClick="document.all.WebBrowser.Execwb(6,1)">打印</a>

    <a href="#" onClick="document.all.WebBrowser.Execwb(6,6)">直接打印</a>

    <a href="#" onClick="document.all.WebBrowser.Execwb(8,1)">页面设置</a>

    …………

    他们默认就是打印body中的内容,打印的时候,可以灵活选择要打印的信息,赋给body即可,如果不希望有些内容在打印的时候显示出来,可以将其隐藏

         <style>

    @media print{

    div{display:none}

    td,table{

         background:display:none;

    }

    }

    </style>

    或者先导出到Word或者Excel

        private void Export(string FileType, string FileName)

        {

            Response.Charset = "GB2312";

            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());

            Response.ContentType = FileType;

            this.EnableViewState = false;

            StringWriter tw = new StringWriter();

            HtmlTextWriter hw = new HtmlTextWriter(tw);

            GridView1.RenderControl(hw);

            Response.Write(tw.ToString());

            Response.End();

    }

    然后调用word或者Excel自带的打印功能去打印...

    多思考,多创新,才是正道!
  • 相关阅读:
    用番茄工作法提升工作效率 (二)用番茄钟实现劳逸结合(简单到不可相信)
    Scratch少儿编程系列:(九)音乐高级技巧
    Scratch少儿编程系列:(八)演奏简单音乐
    BOM (字节顺序标记)
    获取 / 设置 进程的工作目录(当前目录)
    内存对齐
    WPF 透明窗体
    C# 调用 C++ 的 DLL 返回值为 bool 时,值混乱
    WPF ListView / ListBox 更新绑定数据源时,自动刷新界面显示
    正则表达式——WPF输入控件TextBox 限定输入特定字符
  • 原文地址:https://www.cnblogs.com/shuang121/p/2036635.html
Copyright © 2011-2022 走看看