zoukankan      html  css  js  c++  java
  • C#中打印拼接的字符串

    实例化打印文档

    //声明打印对象
    PrintDocument pd = new PrintDocument();
    int ilvPreviewIndex = 0; 

    在打印事件中设置基本属性

    private void btnPrint_Click(object sender, EventArgs e)
    {
        //获取和设置标签的高宽和边距
        decimal dLabelHeight = nudLabelHeight.Value;
        decimal dLabelWidth = nudLabelWidth.Value;
        decimal dTopMargin = nudTopMargin.Value;
        decimal dLeftMargin = nudLeftMargin.Value;
        //设置边距
        Margins margin = new Margins(0, 0, 0, 0);
        pd.DefaultPageSettings.Margins = margin;
        pd.DefaultPageSettings.Margins = margin;
        //横向打印
        //pd.DefaultPageSettings.Landscape = true;
        //循环打印
        for(; ilvPreviewIndex < dgvPreview.Rows.Count; ilvPreviewIndex++)
        {
            //页面尺寸
            pd.DefaultPageSettings.PaperSize = new PaperSize("Custom", Utility.GetPixelByWidth(dLabelWidth), Utility.GetPixelByWidth(dLabelHeight));
            pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
            pd.Print();
        }
    }

    打印事件处理

    /// <summary>
    /// 打印事件处理
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void pd_PrintPage(object sender, PrintPageEventArgs e)
    {
        //排架号中的行间距
        int iMiddle = int.Parse(Utility.ConfigGetItem("ShelfMiddle"));
        //获取和设置标签的高宽和边距
        decimal dLabelHeight = nudLabelHeight.Value;
        decimal dLabelWidth = nudLabelWidth.Value;
        decimal dTopMargin = nudTopMargin.Value;
        decimal dLeftMargin = nudLeftMargin.Value;
        //获取排架号
        string sBeginCallNo = dgvPreview.Rows[ilvPreviewIndex].Cells[0].Value.ToString();
        string sConnectSymbol = txtConnectSymbol.Text.Trim();
        string sEndCallNo = dgvPreview.Rows[ilvPreviewIndex].Cells[1].Value.ToString();
        //设置水平文字对齐方式
        StringFormat stringFormat = new StringFormat();
        stringFormat.LineAlignment = StringAlignment.Center;
        stringFormat.Alignment = StringAlignment.Center;
        //将排架号进行拼接打印
        Graphics g = e.Graphics;
        float leftMargin = Utility.GetPixelByWidth(dLeftMargin); //左边距
        SolidBrush myBrush = new SolidBrush(Color.Black); //刷子
        float yPosition = Utility.GetPixelByHeight(dTopMargin); //行定位
        Font printFont = new Font("宋体", 12 f, FontStyle.Bold); //设置字体
        g.DrawString(sBeginCallNo, printFont, myBrush, leftMargin, yPosition, stringFormat);
        yPosition += Utility.GetPixelByHeight(iMiddle); //另起一行
        g.DrawString(sConnectSymbol, printFont, myBrush, leftMargin, yPosition, stringFormat);
        yPosition += Utility.GetPixelByHeight(iMiddle); //另起一行
        g.DrawString(sEndCallNo, printFont, myBrush, leftMargin, yPosition, stringFormat);
    }
  • 相关阅读:
    Java I/O(二 使用)
    Java 基本I/O的学习总结(一 是什么)
    设计模式(一)
    浏览器输入一个网址(发生的过程)
    final关键字的4种用法
    JavaScript(4)——闭包与this对象以及window对象
    JavaScript(3)—— 正则表达式
    JavaScript(2)——对象属性、原型与原型链
    JavaScript(1)——变量、函数声明及作用域
    构建分布式配置中心阿波罗(Apollo)
  • 原文地址:https://www.cnblogs.com/masonblog/p/12740733.html
Copyright © 2011-2022 走看看