ReportMachine打印条形码的问题
ReportMachine打印条形码的问题
最近用RM报表来打印条形码,调试过程非常顺利,扫描枪识别也很正常,唯独斑马打印机的走纸不准确是个问题,正好客户不想用这种纸型,并定制了新纸型,心想等新纸型到后再调试报表的走纸问题不迟。
几天后,新纸型到,于是在新纸型下进行调试,却发现新纸型的走纸非常正确,一想便明白是传感器的问题,原来的纸型宽,不适用这种斑马打印机,现在好了,走纸问题没有了,可以交付程序了。一个同事说别扫描枪不识别,我心里不以为然,另外一个同事顺手把打出来的条码往扫描枪一靠,我靠,还真没识别出来,又连续打了好几张,都不能识别,这下晕了。换原来的宽纸打印,能识别了。但是客户订的是窄纸型且窄纸无走纸不准确问题,只能用窄纸打印,便琢磨着问题出在哪儿,打印驱动、扫描枪、电脑都换了一遍,还是不行。细心的客户比较了一下两种纸,发现窄纸质量不如宽纸好,但是这也不能解决问题。再仔细看看,总感觉RM打印的条码不是很锐利,感觉模模糊糊的,尤其是细线几乎就没打印出来,放大一看,原本应该是直线的,但是实际上是圆角直线,觉得这就是问题所在。那就换控件吧,从网上找了N多条码控件,并研究了几种条形码的绘制方法与验证码的生成,但是不能嵌入到RM中,就没法用。
已经夜里十二点了,突然想起RM的条形码也是抄别人的代码,如果找到该代码的升级版,也许可以解决问题,说找就找,经过一番搜索并对比,还真找到了原版代码,再仔细一看,靠,居然版本比RM用的还低,没招,还是研究一下RM的代码,看看能否找出问题所在,仔细看了RM的RM_AsBarCode单元,觉得没有什么问题,无意中发现了还有个RM_AsBarView单元,打开一看,原来RM是在这里通过调用RM_AsBarCode的DrawBarCode方法来绘制自己的画布的,估计应该是这里出问题了,经过研究,RM是采用了TMetafile类来进行绘制并放大的,这个类的好处是放大的失真度比较小,对于处理文字和图形应该是比较好的方案,但是处理条形码估计就不行了,于是换成TBitmap进行绘制,打印出来的条码放大后锯齿状明显,在正常情况下却是非常锐利的,心想这下问题应该解决了。连接打印机,一下打了十几张条形码,十几张条码扫描都非常顺利。
ReportMachine打印条形码的问题的更多相关文章
- 问题解决——使用GP-3120TN打印条形码标签
终于大致的尝试出了参数和编程手册里指令的使用. 在这里,感谢佳博中一个叫做"Gprinter 陶玮"的工程师所提供的技术支持.非常感谢,如果没有你,在写这篇文章之前我可能换别的打印 ...
- 如何使用Excel和Word编辑和打印条形码
本文介绍如何使用Microsoft Office Excel 2007和Microsoft Office Word 2007进行条形码的编辑后,通过普通的办公打印机将条形码打印出来. 对于少量,简单的 ...
- SAP smartform 实现打印条形码
先在SE73里定义一个新的BARCODE,注意一定要用新的才可以,旧的是打印不出来的. 然后定义一个SMARTFORM的样式,把你定义的BARCODE放到字符样式里面去. 再做SMARTFORM就可以 ...
- js 打印条形码
相应的文件大家去github上下载吧 https://github.com/lindell/JsBarcode <!DOCTYPE html> <html> <head& ...
- java打印条形码Code128C
生成编码类型为Code128C的条形码的javaCODE: package test; import java.awt.Color; import java.awt.Graphics; import ...
- C#客户端打印条形码
第一种方法: 引用第三方插件文件zxing.dll // 1.设置条形码规格 EncodingOptions encodeOption = new EncodingOptions(); encodeO ...
- C#-利用ZPL语言完毕条形码的生成和打印
近期由于公司项目的须要,研究了一项对我来说算是新的技术-条形码的生成和打印.由于之前没有接触过这方面的知识,所以刚開始还有点小迷茫和小兴奋,只是一步一步来,问题总会解决的.如今来总结一下做条形码 ...
- winfrom 实现条形码批量打印以及将条形码信息生成PDF文件
最近,老大让给客户做个邮包管理程序.其中,包括一些基本信息的增.删.查和改,这些倒不是很难搞定它分分钟的事.其主要难点就在于如何生成条形码.如何批量打印条形码以及将界面条形码信息批量生成以其各自的 b ...
- ZPL语言完成条形码的打印
近期因为项目的需求,需要使用到打印机来打印业务相关的条形码和其他信息,由于之前有操作其它打印机的经验,Leader就安排我来做这个了(凑哦,这能说我是懵逼的么).于是就开始了我的探索之旅啦,不对,是踩 ...
随机推荐
- <Math> 258 43
258. Add Digits class Solution { public int addDigits(int num) { if(num == 0) return 0; if(num % 9 = ...
- 使用system V实现读者写者问题
#include <stdio.h> #include <sys/sem.h> #include <sys/ipc.h> #include <string.h ...
- MySQL实战45讲学习笔记:第三十六讲
一.引子 今天是大年三十,在开始我们今天的学习之前,我要先和你道一声春节快乐! 在上一篇文章中,我们在优化 join 查询的时候使用到了临时表.当时,我们是这么用的: create temporary ...
- JWT签名与验签
签名Token生产 using System; using System.Collections.Generic; using System.IdentityModel.Tokens.Jwt; usi ...
- maven pom项目的dependencies转gradle格式
1.新建一个文件件 2.创建pom.xm,放到新建的文件夹中 3.在命令行切换到新建文件夹中,执行: gradle init --type pom
- ThinkPHP 3.2 自定义基类 Model
ThinkPHP 提供了一个 Model 类,供其他的 Model 进行继承.Model 类中是 MVC 中的模型类,它是调用 持久层 的上层类.感觉这么描述问题很多,但是有什么办法呢?但是,这个 M ...
- sc命令创建和删除服务
安装服务 sc create 服务名 binPath= "C:\Users\Administrator\Desktop\win32srvDemo\win32srvdemo\Debug\win ...
- 修改 Oracle 数据库实例字符集
Ø 简介 在 Oracle 中创建数据库实例后,就会有对应使用的编码字符集.当我们设置的字符集与操作系统或者其他软件字符集不一致时,就会出现个字符长度存储一个汉字. 2. SIMPLIFIED ...
- $.Ajax、$.Get、$.Post代码实例参数解析
$.ajax 语法: $.ajax({name:value, name:value, ... }) 示例: $.ajax({ url: "/testJson", type: &qu ...
- Logstash:把MySQL数据导入到Elasticsearch中
Logstash:把MySQL数据导入到Elasticsearch中 前提条件 需要安装好Elasticsearch及Kibana. MySQL安装 根据不同的操作系统我们分别对MySQL进行安装.我 ...