实现打印功能的代码

本文详细介绍了如何使用JavaScript和C#实现打印功能。JavaScript部分包括两种方法,一是利用内置的window.print(),二是通过Object对象实现打印、预览。C#部分则展示了如何使用PrintDocument对象进行基本操作,包括初始化、设置打印事件、绘制文本并调用打印和预览打印的方法。代码示例中涉及了租房缴费信息的打印模板,如租户信息、房产地址、费用等。
摘要由CSDN通过智能技术生成

一、js实现打印功能代码

1、js自带功能实现打印

    <a   href= "javascript:window.print(); "> 打印 </a>
2、用Object对象s实现打印
<OBJECT   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=10   id="WebBrowser" width=10> </OBJECT>
  

   <script   language= "JavaScript "> 

       //获取页面object对象

       var WB =  $("#WebBrowser")
       function   doPrintSetup(){
           //打印设置
            WB.ExecWB(8,1)
      }
      function   doPrintPreview(){
          //打印预览
          WB.ExecWB(7,1)
      }
      function   doprint(){
          //直接打印
         WB.ExecWB(6,6)
     }
   </script>

二、C#打印代码

 

第一步 基本操作

定义 一个C#提供的 PrintDocument 对象

private PrintDocument printDocument;

 

第二步

//写一个方法 对打印事件进行初始化

private void PrintDocument()
        {
            printDocument = new PrintDocument();
            printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage);
        }

 

//

 

第三步

事件响应方法

private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
        {
            //StringReader lineReader = new StringReader(textBox.Text);
            Graphics graphic = e.Graphics;//获取绘图对象
            float linesPerPage = 0;//页面行号
            float yPosition = 0;//绘制字符串的纵向位置
            float leftMargin = e.MarginBounds.Left;//左边距
            float topMargin = e.MarginBounds.Top;//上边距
            string line = string.Empty;//读取的行字符串
            int currentPageLine = 0;//当前页读取的行数
            Font charFont = button1.Font;//获取打印字体
            SolidBrush brush = new SolidBrush(Color.Black);//刷子
            linesPerPage = e.MarginBounds.Height / charFont.GetHeight(graphic);//每页可打印的行数
            //countNum记录全局行数,currentPageLine记录当前打印页行数。
            // graphic.DrawString("水费通知单", charFont, brush, 360, 100, new StringFormat());

            //房产地址textbox3
            //租户名字textbox2
            // 上次缴费记录 textbox5
            //费用到期 textbox7
            //合同开始时间 textbox4
            //合同到期时间 textbox6
            //月租金 textbox8
            //月管理费 textbox9
            //缴费租金 textbox11
            //缴费管理费 textbox10
            //总计   textbox12

            graphic.DrawString("武大教育发展有限公司房屋租金缴费登记", charFont, brush, 300, 100, new StringFormat());
            graphic.DrawString("租户:         " + this.textBox2.Text, charFont, brush, 100, 140, new StringFormat());
            graphic.DrawString("合同号:       " + this.textBox1.Text, charFont, brush, 100, 180, new StringFormat());
            graphic.DrawString("房产地址:     " + this.textBox3.Text, charFont, brush, 100, 220, new StringFormat());
            graphic.DrawString("月租金:       " + this.textBox8.Text, charFont, brush, 100, 260, new StringFormat());
            graphic.DrawString("月管理费:     " + this.textBox9.Text, charFont, brush, 100, 300, new StringFormat());
            graphic.DrawString("上次缴费至:   " + this.textBox7

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值