在报表中使用Code128字体 打印条码,怎么才能实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在报表中使用Code128字体 打印条码,怎么才能实现相关的知识,希望对你有一定的参考价值。

参考技术A public int getTextWidth(String text, Paint paint)
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
int width = bounds.left + bounds.width();
return width;

public int getTextHeight(String text, Paint paint)
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
int height = bounds.bottom + bounds.height();
return height;

不使用fastreport自带的条码组件打印快递单(一款很不错的条码组件下载)

由于没有正确安装fastreport组件,导致没法使用fastreport中的条码组件,如何解决:

思路:

1、虽然条码组件不能使用,但有fastreport中picture组件可用。

2、查找可以生成一维码图片的组件。通过寻找找到了Barcode(下载)

3、利用picture的filelink属性,在报表中加载第二步产生的条码bmp图片。

步骤如下:

一、设计报表

1、在fastreport设计器中加入picture组件

2、设置picture的FileLink属性:c:\barcode.bmp;

二、编写代码,利用Barcode组件,产生一维码:

var
  Barcode1: TAsBarcode;
begin
  Barcode1 := TAsBarcode.Create(self);
  Barcode1.Top := 0;
  Barcode1.Left := 0;
  Barcode1.Modul := 1;
  Barcode1.Ratio := 2.0;
  Barcode1.Height := 75;
  Barcode1.Text := ‘012345678’;
  Barcode1.ShowText := bcoCode;
  Barcode1.Typ := TBarcodeType(5);
  Barcode1.ShowTextPosition := TShowTextPosition(5);
  Barcode1.Modul := 3;
  try
        Barcode1.Angle := 90;
    except
        Barcode1.Angle := 0.0;
    end;
  Image1.Picture := nil;
  Barcode1.DrawBarcode(Image1.Canvas);
  Image1.Picture.BITMAP.SaveToFile(‘c:\barcode.bmp‘);//(同FileLink属性一致)
  frxReport1.LoadFromFile(‘xxx.fr3‘);
  frxReport1.PrepareReport;

  frxReport1.PrintOptions.ShowDialog := False;
  frxReport1.Print;















































以上是关于在报表中使用Code128字体 打印条码,怎么才能实现的主要内容,如果未能解决你的问题,请参考以下文章

如何做一个公式,使excel能用code128a字体生成可识别的条码

C# 爱普生打印机利用code128字体打印条形码时怎么选择code128字体

vs asp.net水晶报表打印时无法显示条码

Crystal Reports Code 128 条码打印形状而不是数字

如何创建 Code 128 自动条码?

Acumatica 和 code128 条码无法扫描