C# Code 128条形码打印的问题
我自己做了一个小票打印的,因为纸张大小的限制,我把条形码的字体大小设置成24但是这样就出问题了红框部分打印出现异常。如果字体换成64则变成正常了。但是这样的话纸张宽度不够...
我自己做了一个小票打印的,因为纸张大小的限制,我把条形码的字体大小设置成24
但是这样就出问题了
红框部分打印出现异常。如果字体换成64则变成正常了。但是这样的话纸张宽度不够,打印不全。
代码如下
纸张大小设置:
////纸张设置默认
PaperSize pageSize = new PaperSize("First custom size", 239, 600);
pd.DefaultPageSettings.PaperSize = pageSize; pd.DefaultPageSettings.PrinterSettings.Copies = 1;
pd.DefaultPageSettings.PrinterSettings.MaximumPage = 1;
打印功能:
/// <summary> /// 打印
/// </summary>
/// <param name="Sender"></param>
/// <param name="av"></param>
public void PrintCustomLable(Object Sender, PrintPageEventArgs av)
{
Font ft1 = new System.Drawing.Font("Times New Roman", 10, FontStyle.Regular, GraphicsUnit.World);
Font ft2 = new System.Drawing.Font("Code 128",24, FontStyle.Regular, GraphicsUnit.World);
Brush br = new SolidBrush(Color.Black);
//bool preview = false;
//RectangleF realMarginBounds = GetRealPageBounds(av, preview);
av.Graphics.DrawString(strBulider.ToString(), ft1, br, 0, 0); av.Graphics.DrawString(strBuliderShape.ToString(), ft2,br,0,startHeight);
//av.Graphics.DrawString(Get128CodeString("0L92225L121108020022"), ft2, br, 0, 0);
//av.Graphics.DrawString(Get128CodeString("0L92225L121108020", "xx"), ft2, br, 0, 30);
av.HasMorePages = false;
}
其中Font ft2是条形码字体的设置。第一个参数字体大小在50以上都正常,但是纸张宽度有限制。若小于50就出现如图问题。这个该如何解决…… 展开
但是这样就出问题了
红框部分打印出现异常。如果字体换成64则变成正常了。但是这样的话纸张宽度不够,打印不全。
代码如下
纸张大小设置:
////纸张设置默认
PaperSize pageSize = new PaperSize("First custom size", 239, 600);
pd.DefaultPageSettings.PaperSize = pageSize; pd.DefaultPageSettings.PrinterSettings.Copies = 1;
pd.DefaultPageSettings.PrinterSettings.MaximumPage = 1;
打印功能:
/// <summary> /// 打印
/// </summary>
/// <param name="Sender"></param>
/// <param name="av"></param>
public void PrintCustomLable(Object Sender, PrintPageEventArgs av)
{
Font ft1 = new System.Drawing.Font("Times New Roman", 10, FontStyle.Regular, GraphicsUnit.World);
Font ft2 = new System.Drawing.Font("Code 128",24, FontStyle.Regular, GraphicsUnit.World);
Brush br = new SolidBrush(Color.Black);
//bool preview = false;
//RectangleF realMarginBounds = GetRealPageBounds(av, preview);
av.Graphics.DrawString(strBulider.ToString(), ft1, br, 0, 0); av.Graphics.DrawString(strBuliderShape.ToString(), ft2,br,0,startHeight);
//av.Graphics.DrawString(Get128CodeString("0L92225L121108020022"), ft2, br, 0, 0);
//av.Graphics.DrawString(Get128CodeString("0L92225L121108020", "xx"), ft2, br, 0, 30);
av.HasMorePages = false;
}
其中Font ft2是条形码字体的设置。第一个参数字体大小在50以上都正常,但是纸张宽度有限制。若小于50就出现如图问题。这个该如何解决…… 展开
4个回答
展开全部
留联系,一起研究。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询