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. 你不知道的JavaScript(1)LHS查询和RHS查询

    打算把<你不知道的JavaScript>中的知识点整理下,写点自己的心得,同时也敦促自己看书. 先做个整体的介绍,最后会再给个综合的例子. RHS 查询与简单地查找某个变量的值别无二致,而 ...

  2. android studio设计模式和文本模式切换

  3. Eclipse之maven插件link方式安装

    maven是开发人员要具备的必不可少的技能之一.在使用eclipse进行开发时,我们需要安装maven插件,网上有很多教程,但是有些教程写的太过模糊.在此,我将自己的安装方法总结一下,尽量细致. 前提 ...

  4. linux如何管理物理内存?

    Linux kernel version: 5.0.1 arm64 1.将物理内存划分为若干页,每页的大小为4KiB(可以为8KiB或16KiB),那么如何知道每个页当前是什么情况呢? 那就需要一个结 ...

  5. 5. 多重背包问题 II 【用二进制优化】

    多重背包问题 II 描述 有 NN 种物品和一个容量是 VV 的背包. 第 ii 种物品最多有 sisi 件,每件体积是 vivi,价值是 wiwi. 求解将哪些物品装入背包,可使物品体积总和不超过背 ...

  6. 为静态博客生成器WDTP移植了一款美美哒主题

    前言 关于这个主题的移植后公布,我已经联系了主题作者并取得同意,这个主题是一夜涕所写的Sgreen,预览图见下 关于WDTP 就是一个很方便很便携很快速的cpp编写的带gui跨平台的开源的静态博客生成 ...

  7. oracle 之 包,包体创建和使用案例

    先创建包,再创建包体---------------创建包体--------------------- create or replace package body pkg_yygl_service I ...

  8. P3273 [SCOI2011]棘手的操作

    吐槽 上午风浔凌julao问我的神题 操作又多又毒瘤又棘手... 然后bzoj题号正好是2333,2333333333 思路 貌似只有我是这么写的 线段树合并, 每个线段树存每个连通块的信息,维护点的 ...

  9. (zhuan) 一些RL的文献(及笔记)

    一些RL的文献(及笔记) copy from: https://zhuanlan.zhihu.com/p/25770890  Introductions Introduction to reinfor ...

  10. PredNet --- Deep Predictive coding networks for video prediction and unsupervised learning --- 论文笔记

    PredNet --- Deep Predictive coding networks for video prediction and unsupervised learning   ICLR 20 ...