条形码之三九码Word文档下载推荐.docx

上传人:b****3 文档编号:6449154 上传时间:2023-05-06 格式:DOCX 页数:32 大小:628.32KB
下载 相关 举报
条形码之三九码Word文档下载推荐.docx_第1页
第1页 / 共32页
条形码之三九码Word文档下载推荐.docx_第2页
第2页 / 共32页
条形码之三九码Word文档下载推荐.docx_第3页
第3页 / 共32页
条形码之三九码Word文档下载推荐.docx_第4页
第4页 / 共32页
条形码之三九码Word文档下载推荐.docx_第5页
第5页 / 共32页
条形码之三九码Word文档下载推荐.docx_第6页
第6页 / 共32页
条形码之三九码Word文档下载推荐.docx_第7页
第7页 / 共32页
条形码之三九码Word文档下载推荐.docx_第8页
第8页 / 共32页
条形码之三九码Word文档下载推荐.docx_第9页
第9页 / 共32页
条形码之三九码Word文档下载推荐.docx_第10页
第10页 / 共32页
条形码之三九码Word文档下载推荐.docx_第11页
第11页 / 共32页
条形码之三九码Word文档下载推荐.docx_第12页
第12页 / 共32页
条形码之三九码Word文档下载推荐.docx_第13页
第13页 / 共32页
条形码之三九码Word文档下载推荐.docx_第14页
第14页 / 共32页
条形码之三九码Word文档下载推荐.docx_第15页
第15页 / 共32页
条形码之三九码Word文档下载推荐.docx_第16页
第16页 / 共32页
条形码之三九码Word文档下载推荐.docx_第17页
第17页 / 共32页
条形码之三九码Word文档下载推荐.docx_第18页
第18页 / 共32页
条形码之三九码Word文档下载推荐.docx_第19页
第19页 / 共32页
条形码之三九码Word文档下载推荐.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

条形码之三九码Word文档下载推荐.docx

《条形码之三九码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《条形码之三九码Word文档下载推荐.docx(32页珍藏版)》请在冰点文库上搜索。

条形码之三九码Word文档下载推荐.docx

+C

EOT

$D

$

/D

D

+D

ENQ

$E

%

/E

E

+E

ACK

$F

/F

F

+F

BEL

$G

/G

G

+G

BS

$H

/H

H

+H

HT

$I

/I

I

+I

LF

$J

*

/J

IJ

J

+J

VT

$K

+

/K

K

k

+K

FF

$L

/L

L

l

+L

CR

$M

-

.

M

+M

SO

$N

/0

N

+N

SI

$O

/

O

+O

DLE

$P

P

+P

DC1

$Q

1

Q

+Q

Dc2

$R

2

R

+R

Dc3

$S

3

S

+S

DC4

$T

4

T

+T

NAK

$U

5

U

+U

SYN

$V

6

V

+V

ETB

$W

7

W

+W

CAN

$X

8

X

+X

EM

$Y

9

Y

+Y

SUB

$Z

:

/Z

Z

+Z

ESC

%A

;

%F

[

%K

{

%Q

FS

%B

<

%G

"

%L

%R

GS

%C

=

%H

]

%M

}

%S

RS

%D

>

%I

^

%N

~

%T,%X

US

%E

?

%J

%0

DEL

%Y,%Z

三、39码编码方式

  39码的每一个字元编码方式都是籍由九条不同排列的线条编码而得。

可区分以下四种类型,如表所示。

39码字元编码方式

类别

线条形态

逻辑形态

线条数目

粗黑线

11

细黑线

粗白线

00

细白线

英文字母部分

  26个英文字母所对应的39码如表所示。

39码编码对应表(英文字母部分)

字元

110101001011

101011010011

101101001011

110101101001

110110100101

101101101001

101011001011

101010110011

110101100101

110101011001

101101100101

101101011001

101010011011

101011011001

110101001101

110010101011

101101001101

100110101011

101011001101

110011010101

110101010011

100101101011

101101010011

110010110101

110110101001

100110110101

数字与特殊符号部分

  39码也可以表示数字0-9以及特殊符号,其对应的逻辑值如表所示。

101001101101

100101001001

110100101011

100101011011

101100101011

100101101101

110110010101

100100101001

101001101011

101001001001

110100110101

100100100101

101100110101

110010101101

101001011011

空白

100110101101

110100101101

101100101101

四、检查码的计算

  39码中的检查码部分,并不是必要的部分,可依实际需要,决定加入与否,但在一般的情况下通常多半是予以省略不印,以减少编码的长度与扫描的时间。

39码的检查码计算必须先利用表(检查码相对值对照表)将编码字元的相对值查出,将查出的相对值累加后再除以43,得到的余数在查出相对的编码字元,即为检查码字元。

例如,要算出*S123$5*这笔资料的检查码,其计算过程如下:

S的相对值为28

1的相对值为1

2的相对值为2

3的相对值为3

$的相对值为39

5的相对值为5

步骤二将各相对值累加除以43

累加相对值=28+1+2+3+39+5=78

78/43=1.35

步骤三检查出余数相对编码字元

余数=35

查表,得到相对值35之编码字元为Z故,

检查码=Z,得

含检查码在内的39码,为:

*S123$5Z*

39码的检查码查询表

编码字元

相对值

15

16

17

18

19

20

21

22

23

24

10

25

26

12

27

13

28

14

29

五、三九码的制作方法

1.在Excel中制作39码

(1)安装字体3of9.TTF(网络上很多,可先下载该字体.即把3of9.ttf复制到C:

WINDOWS"

Fonts中)

(2)在Excel单元格中输入39码,然后前后加*号,再选择字体(3of9Barcode)

选择字体前如图:

选择字体后如图:

2. 

在C#操作Excel处理三九码(code39)

(1) 

安装字体3of9.TTF

(2) 

添加引用,如图

(3) 

编程:

(只对在EXCEL实现三九码作简单介绍)

usingSystem;

usingSystem.Reflection;

usingSystem.Runtime.InteropServices;

usingMicrosoft.Office.Interop.Excel;

namespaceExcel

///<

summary>

///Class1

/summary>

classClass1

{

///Excel

[STAThread]

publicstaticvoidMain(string[]args)

 

Applicationexc=newApplication();

if(exc==null)

Console.WriteLine("

Error:

Excelcouldn'

tbestarted!

);

return;

}

exc.Visible=true;

Workbooksworkbooks=exc.Workbooks;

_Workbookworkbook=workbooks.Add(XlWBATemplate.xlWBATWorksheet);

Sheetssheets=workbook.Worksheets;

_Worksheetworksheet=(_Worksheet)sheets.get_Item

(1);

Ranger=worksheet.get_Range("

A1"

"

r.ColumnWidth=30;

r.Value2="

*12345ABCD*"

r.Font.Name="

3of9Barcode"

运行结果:

3. 

用.NET自带的报表服务System.Drawing.ReportDocument时,

如果2.

(1),

(2)然后在PrintPage事件中加入以下部分即可:

Font 

f= 

new 

Font("

of 

Barcode"

 

24, 

FontStyle.Bold);

stringstr 

*1234ABCD*"

e.Graphics.DrawString(str, 

f, 

Brushes.Black, 

10f, 

StringFormat());

4.水晶报表中显示条形码:

(1)

1>

安装字体3of9.TTF

2>

建立要显示条形码文字的公式:

如Barcode39要显示字段设为CustomerID,则可在公式编辑器中拖入CustomerID即"

*"

+CStr({Customer.CustomerID})+"

最终为"

&

CStr({Customer.CustomerID})&

"

3>

把Barcode39拖入报表要显示的地方

4>

设置Barcode39对象的字体为条形码字体

(2)

从第三方供应商购买字体库存和用户函数库(AzaleasoftwareorIDAutomation)

安装字体库,并注册用户函数库(CRUFlidautomation.dll为函数库)

Regsvr32CRUFlidautomation.dll

建立公式并在公式中使用用户函数库的函数(在附加函数中找到用户函数)

把公式拖入报表,并设置公式对象的字体为相应的条形码字体

5.使用CODESOFT6Enterprise制作条形码:

安装CODESOFT6Enterprise(网上可以下载且有破解包),并打开

Dabase:

与数据源的连接(Excel,Access等)

Date:

与日期相关和条码字段

Formule:

公式字段

Form:

变量

Tablelooup,Count,Free暂不说明

前三个选择为条形码的显示方式

从上到下依次为:

SelectObjects:

选取对象

Textgeneration:

文本生成器(设置文本字体,大小等)

Barcodegeneration:

条形码生成器(产生条码并可设置其属性,如条码大小,长短等)

Imageimport:

插入图片等对象

Externalobjectinsertion:

插入外部数据源对象

Linedrawing:

画线条对象

Rectangledrawing:

画矩形对象

Circleorellipsedrawing:

画圆形或椭圆对象

Polygondrawing:

画多边形

Obliquelinedrawing:

Roundedrectangledrawing:

画圆角矩形

添加一个变量表示数量(Qty):

选取一个Textgereration对象,做为条形码前的说明:

选取一个条形码对象(Barcodegereration):

在Symbolgy列表框中找到39码:

在Humanreadable页(易读标签页),设是否验证符,Positiont选择项中设置显示可读文字的位置(条形码的真实内容)及对齐方式等

在Character页,选择字体字形等

在数据源页选择条形码的来源(是变量还是常量,还是数据源字段等)

点击确定后:

设Qty为15.6:

此时条形为15.6:

同理再建一个日期变量:

设置日期的格式:

20090113

建立一个Qty_Date的公式:

显示数量和日期,并做为二维条码的数据源(其它二维条码与此类似)

數量和日期:

然后打印条码标签

(连续打印多个条码标签,数据源用一个字段Qty的示例,内容太多,详见PDF,本公司内部在使用)/Files/csui2008/cs6.pdf

6.用C#操作 

System.Drawing.Graphics画39码(code39)

(1)条形码的内容:

stringcode=“123456789”,则验证码为2

通过函数code39_check_digit()得到验证码:

//得到验证码

privatestringcode39_check_digit(stringcode)

intnum2=0;

intnum3=Strings.Len(code);

for(inti=1;

i<

=num3;

i++)

num2+=this.code39_get_num(Strings.Mid(code,i,1));

num2=num2%0x2b;

returnthis.code39_get_char(num2);

然后在code前后加”*”号,(必须加星号读取条形码的设备才能正确识别):

code="

+code;

if(this.myAddCheckDigit)

code=code+this.code39_check_digit(code);

code=code+"

此时code="

*1234567892*"

(2)把条码字元一个一个地转化为byte型(逻辑形式),并画出来

(请参阅<

二>

条形码之三九码(上)中39码编码对应表

intnum10=Strings.Len(code);

for(inti=1;

=num10;

stringexpression=this.code39_get_pattern(Strings.Mid(code,i,1));

if(expression!

="

floatnum6=0.0F;

floatnum7=0.0F;

floatnum9=0.0F;

intnum11=Strings.Len(expression);

intstart=1;

while(start<

=num11)

floatnum8;

if(Strings.Mid(expression,start,1)=="

1"

num7=X+(num5*num2);

num6=2f*num2;

num9=Y;

num8=num;

num5+=2;

else

num6=1f*num2;

num5++;

if((start%2)==1)

ev.FillRectangle(brush,num7,num9,num6,num8);

start++;

(3)然后,确定是否要把条形码的内容显示在条形码下方,以下为显示条形码文本的程序段:

privatevoidWriteNumber(stringTITLE,floatX,floatY,floatX2,floatY2,Graphicsev)

Fontfont;

if(this.FontBold)

if(this.FontItalic)

font=newFont(this.myFontName,this.myFontSize,FontStyle.Italic|FontStyle.Bold);

font=newFont(this.myFontName,this.myFontSize,FontStyle.Bold);

elseif(this.FontItalic)

font=newFont(this.myFontName,this.myFontSize,FontStyle.Italic);

font=newFont(this.myFontName,this.myFontSize);

SolidBrushbrush2=newSolidBrush(this.myFontColor);

SolidBrushbrush=newSolidBrush(this.myFontBackGroundColor);

StringFormatformat=newStringFormat();

if(this.myPrintChar)

format.Alignment=StringAlignment.Center;

format.LineAlignment=StringAlignment.Center;

SizeFef=ev.MeasureString(TITLE,font);

floatwidth=ef.Width;

floatheight=ef.Height;

ev.FillRectangle(brush,0,Y-height,X2,height);

ev.DrawString(TITLE,font,brush2,X,Y-(height/2f),format);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2