|
|
导航: |
论坛 -> 报表专区
斑竹:sunyesy,iamdream |
|
作者: |
|
2016/7/11 16:14:36 |
标题: |
【经验分享】fastreport打印斑马条码 |
浏览:3256 |
|
加入我的收藏 |
楼主: |
打印条码主要有3种方式: 1.ZPL指令写端口。 这种方式兼容性最好,但是不够直观,修改一个条码格式,需要不断的调试。 2.fastreport报表工具。 这种方式最方便,所见即所得。但是不能用代码来控制打印速率、浓度等必要属性。 3.ole调用第三方软件。 这种方式功能最强大。版权问题。。。你懂得。。。
如果把第1,2种方式结合起来,应该是目前比较好的方式了,步骤如下: 1.用fastreport设计条码,并保存fr3报表文件。程序在打印时,写代码控制打印到文件。(这个文件用文本编辑器会看到,该文件是由ZPL指令组成) frxReport1.PrintOptions.ShowDialog := False;//不显示打印对话框 frxReport1.PrintOptions.PrnOutFileName := sTempFile;//输出的文件名 Printer.SetPrinter(PChar(defaultPrintName),PChar(defaultPrintName),'File',0);//打印到文件,需要在uses 增加Printers
2.用文本编辑器打开打印的文件。(参考附件) 写代码修改该文件中关于左、上边距,打印速率,打印浓度的ZPL指令,具体指令请参考ZPL指令帮助文档 ^LH是控制边距,^PR是控制打印速率,~SD是控制打印浓度
3.将修改好的文件,打印到条码打印机的端口 AssignFile(tempFile, defaultPrintPort);//写端口
OK,是不是发现很简单快速?利用了fastreport的所见即所得,快速设计条码格式,然后以ZPL指令输出到条码打印机。一个新的条码格式只需要几分钟就可以交货了哦
但是请注意:用fastreport这类报表工具做的条码,只适用于精度要求不高的场合。具体情况大家试试。
希望可以帮到有需要的delphier,这么多年来,delphier越来越少了。。。
此帖子包含附件:
 大小:156.5K |
----------------------------------------------
- |
作者: |
|
2016/7/11 16:18:01 |
1楼: |
非常感谢分享.
----------------------------------------------
学Delphi不久,会问些初级问题,希望有人指引,不胜感激...
|
作者: |
vmao (毛小毛) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2016/7/11 21:15:25 |
2楼: |
你这个是打一个固定的条码么? 比如:我现在有一个DataSet,里面有100个料号,现在需要循环打印出这100个条码,条码值就是料号,你这个是要做100个文件么?还是可以绑定数据集啥的?
----------------------------------------------
-
|
作者: |
|
2016/7/12 0:44:51 |
3楼: |
当然是关联数据集的啊。。。
----------------------------------------------
-
|
作者: |
|
2016/7/12 0:46:42 |
4楼: |
相同格式的可以做好一个模板(fr3文件),动态调用
----------------------------------------------
-
|
作者: |
|
2016/7/12 8:17:26 |
5楼: |
不错。就是带中文的标签还要加装字库,转成ZPL后又对其他类型打印机不支持。目前正头疼FR的条码精度问题。
----------------------------------------------
-
|
作者: |
|
2016/7/12 10:04:07 |
6楼: |
打中文不用加装字库的,在fastreport设好字体,打印到文件时会自动转。前提是安装好Windows的驱动就好。 如果是其他指令的打印机,你可以转成打印机支持的指令集,都是大同小异的,主要是看指令集的帮助
----------------------------------------------
-
|
作者: |
|
2016/7/12 15:13:05 |
7楼: |
条码精度,可以尝试调整TfrxBarcodeView的ZOOM属性
----------------------------------------------
-
|
作者: |
|
2016/7/13 11:55:24 |
8楼: |
fastreport哪个版本?
----------------------------------------------
Delphi爱好者。
|
作者: |
|
2016/7/13 15:36:04 |
9楼: |
fastreport4.X,这个应该和fastreport的版本无关吧,fastreport2.5也是可以的。 A.实际上fastreport只是用来快速建立条码格式及数据联接, B.然后通过打印机的驱动程序,转换为打印机识别的指令文件, C.再按照实际需求修改此指令文件, D.最后把修改好的指令文件写端口输出到打印机。
----------------------------------------------
-
|
|