不清楚"/>
条码旋转后打印不清楚
用Spire.Barcode生成条码,旋转270再打印,发现打印出的条码扫描不出来。Spire.Barcode生成的码只能用画成图片的方式才能打印出来。
以下这种方式打印出来不清楚
//码的属性设定settings.TopMargin = 0F;settings.BottomMargin = 0F;settings.TextMargin = 0F;settings.Y = Convert.ToSingle(getAttribute[b][15].ToString());settings.TextAlignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), getAttribute[b][16].ToString());settings.Rotate = Convert.ToSingle(getAttribute[b][3].ToString());//旋转角度BarCodeGenerator generator = new BarCodeGenerator(settings);Image image = generator.GenerateImage();e.Graphics.DrawImage(image, Convert.ToInt32(getAttribute[b][1].ToString()), Convert.ToInt32(getAttribute[b][2].ToString()) + 20);
解决方法:
生成码时不再,不再设定旋转属性,而是打印时,把生成的图片旋转(前提是要知道旋转后的位置)
//码的属性设定settings.TopMargin = 0F;settings.BottomMargin = 0F;settings.TextMargin = 0F;settings.Y = Convert.ToSingle(getAttribute[b][15].ToString());settings.TextAlignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), getAttribute[b][16].ToString());//settings.Rotate = Convert.ToSingle(getAttribute[b][3].ToString());//旋转角度BarCodeGenerator generator = new BarCodeGenerator(settings);Image image = generator.GenerateImage();//0度if (Convert.ToSingle(getAttribute[b][3].ToString()) == 0){image.RotateFlip(RotateFlipType.RotateNoneFlipNone);}//90度else if (Convert.ToSingle(getAttribute[b][3].ToString()) == 90){image.RotateFlip(RotateFlipType.Rotate90FlipNone);}//180度else if (Convert.ToSingle(getAttribute[b][3].ToString()) == 180){image.RotateFlip(RotateFlipType.Rotate180FlipNone);}//270度else if (Convert.ToSingle(getAttribute[b][3].ToString()) == 270){image.RotateFlip(RotateFlipType.Rotate270FlipNone);}e.Graphics.DrawImage(image, Convert.ToInt32(getAttribute[b][1].ToString()), Convert.ToInt32(getAttribute[b][2].ToString()) + 20);
更多推荐
条码旋转后打印不清楚
发布评论