Delphi中打印条码的方法

导读:
  1 通过菜单”Component”下的”Import ActiveX”将“Microsoft

Access Barcode Control 9.0”控件引入。这个控件

(msbcode9.occx)随同Office一起安装到系统中。
  2 在“ActiveX”下可以看到该控件,可以直接拖放到窗体上

。通过属性设置,可以设置条码类型,内容,宽度、高度等等


  条码的数据是通过”Value”属性设置,也通过Datasource等

设置引用数据库字段。高度和宽度通过控件的高度宽度设置,

空白区域没有找到办法缩减。
  3 代码
  在已经插入一个控件后,可以通过以下的处理进行打印。
  我试过,打印、识读都没有问题。
  有关不显示在界面上就进行打印的方法,希望用户自己查

询。
  
  procedure TForm1.Button1Click(Sender: TObject);
  var
  bmp:TBitmap;
  sR,tR:TRect;
  begin
  //记录图像
  bmp := TBitmap.Create;
  sR :=

Rect(BarCodeCtrl1.Left,BarCodeCtrl1.Top,BarCodeCtrl1.Left +

BarCodeCtrl1.Width,
  BarCodeCtrl1.Top + BarCodeCtrl1.Height);
  tR := Rect(0,0,BarCodeCtrl1.Width,BarCodeCtrl1.Height);
  bmp.Width := BarCodeCtrl1.Width;
  bmp.Height := BarCodeCtrl1.Height;
  bmp.Canvas.CopyRect(tR,Canvas,sR);
  // bmp.SaveToFile('c:\1.bmp');
  //打印
  printer.BeginDoc;
  printer.Canvas.Font.Size := 15;
  printer.Canvas.TextOut(10,10,'Barcodestrl demo');
  printer.Canvas.Draw(20,100,bmp);
  printer.EndDoc;
  
  bmp.free;
  end;
  
  procedure TForm1.FormCreate(Sender: TObject);
  begin
  //产生条码
  BarCodeCtrl1.Value := '012345678';
  BarCodeCtrl1.Width := 400;
  BarCodeCtrl1.Height := 100;
  end;
注意:
  1 该控件好像不是非常符合条码的宽窄条比,所以需要找

一个合适的宽高比例,以保证可识读。
  2 按照上面的方法,会采用打印机驱动程序的默认设置。

因此需要在打印机驱动程序上选择合适的页面和相关处理作为

默认值。当然,应该有更加好的方法对打印机驱动进行设置,可

以搜索一下网络吧!
  3 另外你也可以直接从网上下载一些条形码字体,然后设

置打印字体为条形码字体,这种方法更为简单,但是对打印机

和扫描枪有一定的精度要求。

delphi 条形码的更多相关文章

  1. 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版

    <zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...

  2. Delphi插件创建、调试与使用应用程序扩展

    Delphi插件创建.调试与使用应用程序扩展 翻译 : MiracleZ  有没有使用过Adobe Photoshop?如果用过,你就会对插件的概念比较熟悉.对外行人来说,插件仅仅是从外部提供给应用程 ...

  3. C# 条形码操作【源码下载】

    本篇介绍通过C#生成和读取一维码.二维码的操作. 目录 1. 介绍:介绍条形码.条形码的分类以及ZXing.Net类库. 2. 一维码操作:包含对一维码的生成.读取操作. 3. 二维码操作:包含对二维 ...

  4. Android 扫描条形码(Zxing插件)

    使用Android Studio 一.在build.gradle(Module:app)添加代码  下载,调用插件 1 apply plugin: 'com.android.application' ...

  5. 学习笔记:7z在delphi的应用

    最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看 ...

  6. 在DevExpress程序中使用条形码二维码控件,以及进行报表打印处理

    在很多业务系统里面,越来越多涉及到条形码.二维码的应用了,不管在Web界面还是WInform界面都需要处理很多物料相关的操作,甚至很多企业为了减少录入错误操作,为每个设备进行条形码.二维码的标签,直接 ...

  7. delphi连接sql存储过程

    针对返回结果为参数的 一. 先建立自己的存储过程 ALTER PROCEDURE [dbo].[REName] ) AS BEGIN select ROW_NUMBER() over(order by ...

  8. Java 条形码 二维码 的生成与解析

    Barcode简介 Barcode是由一组按一定编码规则排列的条,空符号,用以表示一定的字符,数字及符号组成的,一种机器可读的数据表示方式. Barcode的形式多种多样,按照它们的外观分类: Lin ...

  9. delphi 2010与delphi XE破解版的冲突

    在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...

随机推荐

  1. 剑指offer(31)1~n整数中1出现的次数

    题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...

  2. bzoj 4318 OSU! - 动态规划 - 概率与期望

    Description osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...

  3. AppStore 添加回复

    itunes connect 评论位置 1, 2, 添加用户权限:除了管理和客户支持可以回复.开发人员等只有只读权限

  4. 播放器smplayer的各种键盘快捷键

    smplayer的很多键盘快捷键都是 "单字母"命令. 如: f, m命令等 有主工具栏, 是通过F5来进行切换的, 但是单击f5后"可能"会使窗口失去焦点, ...

  5. javascript的执行过程, 语法错误和运行时错误?

    js的执行错误分为 语法syntaxError,和 runtime error, 首先, js引擎会检查 整个脚本的语法, 如果在检查语法的过程中,发现了错误, 比如括哈不配对, 字符串少了 另一半的 ...

  6. How to check if one path is a child of another path?

    How to check if one path is a child of another path? Unfortunately it's not as simple as StartsWith. ...

  7. FastQC结果详解

    REF https://www.plob.org/article/5987.html 解压后,查看html格式的结果报告.结果分为如下几项: 结果分为绿色的"PASS",黄色的&q ...

  8. 题解——POJ 2234 Matches Game

    这道题也是一个博弈论 根据一个性质 对于\( Nim \)游戏,即双方可以任取石子的游戏,\( SG(x) = x \) 所以直接读入后异或起来输出就好了 代码 #include <cstdio ...

  9. JAVA 上传文件到linux上并解压缩

    package com.inborn.inshop.controller.mkt; import java.io.*; import ch.ethz.ssh2.ChannelCondition;imp ...

  10. 忘记mysql密码处理方案

    https://blog.csdn.net/lisongjia123/article/details/57418989 http://blog.51cto.com/lxsym/477027