C#实现三线表格格式打印

经过两天的调试终于达到让自己满足的效果,贴出部分程序,方便以后使用

        private int _pages = 0;//页码
        private int _itemCount = 0; //项计数器
        private bool _isFirstPage = true;
        private  int _count = 0;//行计数器
        /// <summary>
        /// 打印,以三线制表格格式打印告警信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
        {
            Graphics g = e.Graphics;
            float yPosition = 0;//绘制字符串的纵向位置
            float leftmargin = e.MarginBounds.Left; //左边距
            float topMargin = e.MarginBounds.Top;
            float paperWidth = e.MarginBounds.Width;
            Font printFont = new Font(new FontFamily("黑体"),9);
            float fontHeight = printFont.GetHeight(g);
            SizeF fontSize = g.MeasureString("告", printFont);//正文字体尺寸(高,宽)
            SizeF titleFontSize = g.MeasureString("监", new Font(new FontFamily("黑体"),11));//标题字体尺寸
            SolidBrush printBrush = new SolidBrush(Color.Black);
            //一页所能打印行数
            var linesPerPage = e.MarginBounds.Height/fontHeight-5;

            if (_isFirstPage) {
                //打印标题
                g.DrawString("标题", new Font(new FontFamily("黑体"), 11), printBrush,
                    new PointF(paperWidth/2 - 4*titleFontSize.Width, topMargin));
                //打印副标题
                yPosition = topMargin + titleFontSize.Height;
                g.DrawString(string.Format("ID: {0}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值