dpi换算 ZPL

2021年11月13日 开发笔记 评论已被关闭

1、203dpi = 8dots/mm,指每毫米“打印”8个点,300dpi(12dots/mm)同理。

^XA^LL1200^PW800

//开始命令符,设置打印纸张大小、打印的浓度,打印的速度,条码出于纸张的坐标

^XA^JMA^LL180^PW660^MD30^PR2^PON^LRN^LH10,0
^XA:标签格式^XA开始
^JM:设置每毫米点数(取决打印头)
^LL:设置标签长度
^PW:设置标签宽度
^MD:设置标签深度
^PR:设置打印速度
^PO:设置打印方向
^LR:设置标签反转(‘Y’/’N’)
^LH:设置标签起点

//设置字体格式

^FO20,147^AFN,26,13^FDZ007203149 – ZS565-110-001-1^FS

^A命令的格式:
^Af,o,h,w

^A

= 缩放/点阵字体
f

= 字体名
默认值:0(CG Triumvirate Bold Condensed)
其他值:A-Z,0-9(打印机的任何字体,包括下载字体,EPROM中储存的,当然这些字体必须用^CW来定义为A-Z,0-9)
0

= 字体方向
默认值:^FW默认值或上一个^FW的值。
其他值: N = 正常 (Normal)
R = 顺时针旋转90度(Roated)
I = 顺时针旋转180度(Inverted)
B = 顺时针旋转270度 (Bottom)
h

= 字符高度
曲线字体:
默认值: 15点或上一次^CF的值。
可接受的值: 10-1500点
点阵字体:
默认值: 指定点阵字体的标准高度
其他值: 标准高度高度的整数倍,2-10。
w

= 字符宽度
曲线字体:
默认值: 12点或上一次^CV的值,也可以显示为0
可接受的值: 10-1500点
点阵字体:
默认值: 指定点阵字体的标准宽度
其他值: 标准高度高度的整数倍,2-10。
//设置一维码Code128的格式
^FO52,90^BY2,3,50^BCN,50,N,N,N,A^FD$SN^FS
^FO:设置字段位置
^BY:条码字段默认参数设置
^BC:Code128,()
^FD:Field Data数据字段,限制100字符
^FS:字段分隔,表示字段定义结束
^A:缩放/点阵字体

^BY命令的格式:
^Byw,r,h

^BY = 改变条码默认参数
w = 模块(窄条)宽
开机初始化值:2点
可接受的数值:1-10点
r = 宽条与窄条的比例
开机初始化值:3.0
可接受的数值:2.0到3.0,0.1的增量(对固定比例的条码无效)
h = 条码高度
开机初始化值:10点
可接受的数值:1点到标签高度。
^BC命令的格式:
^BCo,h,f,g,e,m

^BC

= Code 128条码
o

= 字体方向
默认值:^FW默认值或上一个^FW的值。
其他值: N = 正常 (Normal)
R = 顺时针旋转90度(Roated)
I = 顺时针旋转180度(Inverted)
B = 顺时针旋转270度 (Bottom)
h

= 条码高度
默认值:由^BY设置
其他值:1到9999点
f

= 打印注释行
默认值: Y = 打印(Yes)
其他值:N = 不打印(No)
g = 将注释行打印在条码上方
默认值: N = 不打印在条码上方
其他值: Y = 打印在条码上方
e = 打印UCC校验位
默认值:Y = 打印(Yes)
其他值:N = 不打印(No)
m = 模式
默认值:N = 不选择模式
其他值:U = UCC匹配模式。(^FD或^SN后必须有19位数字。)用FNC1值自动选择C子集。
版本16.3.0版本有效:
A = 自动模式。自动模式将分析收到的数据并自动决定选取最佳的压缩方式。^FD可以用全部ASCII字符。打印机将确定是否变化子集。四个及以上的数字将自动变化为C子集。
//设置二维码Data Matrix的格式

^FO485,8^BXN,6,200^FDZ2007203419,1100705042001,ZS565-110-001-1,ABCD1234^FS

^BX Data Matrix 条码
说明: ^BX 命令可以创建二维矩阵符号,它由由一个分布着多个小方块的正方形图案组成。
格式: ^BXo,h,s,c,r,f,g,a
o = 方向 : N = 正常R = 旋转 90 度(顺时针)I = 反转 180 度B = 逆时针 90 度读取
h = 各个符号元素的空间高度 :接受的值:1 至标签宽度
s = 规格级别 :接受的值:0、50、80、100、140、200默认值:0
c = 要编码的列 :接受的值:9 至 49
r = 要编码的行 :接受的值:9 至 49
f = 格式 ID (0 至6) — 不用于设置为 200 的规格 :
1 = 字段数据为数字 + 空格(0..9、”) – 无 \&’’
2 = 字段数据为大写字母数字 + 空格(A..Z、’’) – 无 \&’’
3 = 字段数据为大写字母数字 + 空格、句号、逗号、虚线和斜线(0..9、A..Z、“.-/”)
4 = 字段数据为大写字母数字 + 空格(0..9、A..Z、’’) – 无 \&’’
5 = 字段数据为完整 128 ASCII 7 位字符集
6 = 字段数据为完整 256 ASCII 8 位字符集
g = 换码序列控制符 :接受的值:任意字符默认值:~ (波浪符)
a = 长宽比 :1 = 正方形2 = 矩形 默认值:1
//结束命令符
^PQ1^XZ
^PQ:设置打印数量
^XZ:标签格式以^XZ结束

 

 

中文ZPL手册

 

 

 

 

ZPL II ZBI 2 英文文档

 

P1012728-004

C#–尝试读取或写入受保护的内存,这通常指示其他内存已损坏。

2021年11月8日 开发日志 评论已被关闭

记:

近期在C#中调用别人的DLL的时候有时候出现了 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏 的问题。

 

错误类型:System.AccessViolationException。

 

问题位置:在与C++ dll规定传参的类型用的是string导致

 

  问题原因:C++ string类的字符在内存的储存位置:数据<=16字节,在当前栈区;数据>16字节,在堆区

       C# string是存放在堆区的。

 

解决方案:在传值的时候用指针,再做转换就好了。

    public class APP_DLL
    {
        [DllImport("ruihua.dll", CallingConvention = CallingConvention.Cdecl)] //引入dll,并设置字符集
        public static extern int test(byte[] src1, int w1, int h1, int channel1, byte[] src2, int w2, int h2, int channel2, string str);
    }

改为:

    public class APP_DLL
    {
        [DllImport("ruihua.dll", CallingConvention = CallingConvention.Cdecl)] //引入dll,并设置字符集
        public static extern int test(byte[] src1, int w1, int h1, int channel1, byte[] src2, int w2, int h2, int channel2, IntPtr str);
    }

C# string转IntPtr方法:

  IntPtr ptrIn = Marshal.StringToHGlobalAnsi(obj.ToString());

C# IntPtr转string方法:

  string retlust = Marshal.PtrToStringAnsi(ptrIn);  

转之   https://www.cnblogs.com/mexihq/p/12696579.html


查看数据库中那个表占用的空间多

2021年10月28日 开发日志 评论已被关闭
create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100)) 
 
declare @name varchar(100) 
declare cur cursor  for 
    select name from sysobjects where xtype='u' order by name 
open cur 
fetch next from cur into @name 
while @@fetch_status=0 
begin 
    insert into #data 
    exec sp_spaceused   @name 
    print @name 
 
    fetch next from cur into @name 
end 
close cur 
deallocate cur 
 
create table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int) 
 
insert into #dataNew 
select name,convert(int,row) as row,convert(int,replace(reserved,'KB','')) as reserved,convert(int,replace(data,'KB','')) as data, 
convert(int,replace(index_size,'KB','')) as index_size,convert(int,replace(unused,'KB','')) as unused from #data  
 
select * from #dataNew order by data desc

Vue技术 Vue中的数据代理

2021年10月26日 开发日志 评论已被关闭

Object defineProperty

2021年10月26日 网站维护 评论已被关闭

更换iis的https证书

2021年10月25日 网站维护 评论已被关闭

阿里云oss上传回调错误及排除

2020年2月16日 开发日志 评论已被关闭

IFrame中弹出登录页面问题

2020年2月11日 开发笔记 评论已被关闭

A server error occured on the current command. The results, if any, should be discarded

2019年9月15日 开发日志 评论已被关闭

请求筛选模块被配置为拒绝包含双重转义序列的请求。

2018年12月24日 开发日志 评论已被关闭