rave report设置不同报表的打印机

本文分享了解决使用Fastreport打印的条形码无法被扫描枪识别的问题,通过更换报表工具RaveReport并详细介绍了如何设置打印机及条形码属性来确保条形码能够被正确读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    前几天用Fast report 进行了条形码打印。所有条形码的界面都设置好了,但是打印后的条形码不能被扫描枪识别到。由于使用的标签比较小,我也是根据标签的规格进行调整条形码的大小,进行了缩小一半,打印出来的条,空也都挺清晰的,但是就是不能识别。小徐使用了一个标签制作工具,进行条码设计,打印,没想到居然可以被识别,而且条码大小还很小,使我感觉Fast Report有漏洞啊,缩小的时候肯定少了什么东西。我也重新找报表工具制作了。

    今天也找了一天的报表工具,网上很多,可以使用QuickReport, Fast Report, Rave Report, ReportBuild等,后来就先使用了下,D7自带的报表工具Rave了,进行设计。。。也在网上找了很多的资料,在网摘上。。。

  主要有两点:

  • 不同报表的打印机设计
    主要是要找到报表对象TRaveReport,它有个设置打印机名称的属性Printer:String ;
  • 使用户可以进行修改报表,但是还是不能脱离Delphi使用,找了好多还是不行;需要设置DllFile := 'RaveSolo.dll'.
  • 对报表中的对象进行设置属性,需要通过FindRaveComponent找到相应的对象

附学习代码

procedure TDataDealCenter.DesginBarCodeData1(sPID, sSN: string);
var
  MyPage: TRavePage;
  MyBarCode: TRaveCode128BarCode;
  MyReport: TRaveReport;
begin
  DataModule1.rvprjct1.DLLFile :
= GetAppPath + 'RaveSolo.dll';
  DataModule1.rvprjct1.LoadDesigner :
= True;
  DataModule1.rvprjct1.ProjectFile :
= GetAppPath + BARCODE_FILE1;
  DataModule1.rvprjct1.Open;
  with DataModule1.rvprjct1.ProjMan 
do
  begin

    MyReport :
= FindReport('Report1', False);
    MyReport.Printer :
= FBarCodePrinter;
    MyPage :
= FindRaveComponent('Report1.Page1', nil) as TRavePage;
    MyBarCode :
= FindRaveComponent('BarCodeSN', MyPage) as TRaveCode128BarCode;
    MyBarCode.Text :
= sSN;
    MyBarCode :
= FindRaveComponent('BarCodePID', MyPage) as TRaveCode128BarCode;
    MyBarCode.Text :
= sPID;
  end;

  
//DataModule1.rvprjct1.SelectReport('Report1', True);
  
//DataModule1.rvprjct1.Design;
  DataModule1.rvprjct1.DesignReport('Report1');
  
//DataModule1.rvprjct1.Execute;
  DataModule1.rvprjct1.Close;
end;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值