using System;
using System.Collections.Generic;
using System.Text; namespace MacPrinter
{
public class ZPL_Command
{ /// (^EF)<summary>
/// 清除设定 (已包含起始结束命令)
/// </summary>
/// <returns></returns>
public string _CmdEraseSetup()
{
string st = "^XA^EF^FS^XZ";
return st.ToUpper();
} /// <summary>
///(^XA) ZPL命令开始
/// </summary>
/// <returns></returns>
public string _CmdStart()
{
return "^XA".ToUpper();
} /// <summary>
///(^XZ) ZPL命令结尾
/// </summary>
/// <returns></returns>
public string _CmdEnd()
{
return "^XZ".ToUpper();
} /// <summary>
/// (^FS)一个字段的结束(结束一行命令)
/// </summary>
/// <returns></returns>
public string _CmdLineEnd()
{
return "^FS".ToUpper();
} /// <summary>
///(^A)字体设定{^Af,o,h,w}
/// </summary>
/// <param name="DesiredFont">(f)需要选择的字体默认为O(A-Z,1-9)</param>
/// <param name="FontOrientation">(o)字体是否旋转默认N(R旋转90°,I旋转180°,B旋转270°,)</param>
/// <param name="FontHeight">(h)设定字体高度以点计算默认为15(10-1500)</param>
/// <param name="FontWidth">(w)设定字体宽度以点计算默认为12(10-1500)</param>
/// <returns></returns>
public string _SetFont(string DesiredFont, string FontOrientation, int FontHeight, int FontWidth)
{
string _a = string.Format("^A{0}{1},{2},{3}", DesiredFont, FontOrientation, FontHeight, FontWidth);
return _a.ToUpper();
} /// <summary>
/// (^A)字体设定{^Af,o,h,w}
/// </summary>
/// <param name="DesiredFont">(f)需要选择的字体默认为O(A-Z,1-9)</param>
/// <param name="FontHeight">(h)设定字体高度以点计算默认为15(10-1500)</param>
/// <param name="FontWidth">(w)设定字体宽度以点计算默认为12(10-1500)</param>
/// <returns></returns>
public string _SetFont(string DesiredFont, int FontHeight, int FontWidth)
{
return this._SetFont(DesiredFont, "N", FontHeight, FontWidth);
} /// <summary>
/// (^A@)调用字体名字设定字体{^A@o,h,w,n}
/// </summary>
/// <param name="FontOrientation">字体是否旋转默认N(R旋转90°,I旋转180°,B旋转270°,)</param>
/// <param name="FontHeight">设定字体高度以点计算默认为15(10-1500)</param>
/// <param name="FontWidth">设定字体宽度以点计算默认为12(10-1500)</param>
/// <param name="FontName">Font Name(Cyrillic.FNT)</param>
/// <returns></returns>
public string _SetFont(string FontOrientation, int FontHeight, int FontWidth, string FontName)
{
return string.Format("^A@{0},{1},{2},{3}", FontOrientation, FontHeight, FontWidth, FontName);
} /// <summary>
/// (^B1o,e,h,f,g)
/// </summary>
/// <returns></returns>
public string _SetCode11()
{
return "";
} /// <summary>
/// (^B3)Code39码(^B3o,e,h,f,g)
/// </summary>
/// <param name="Orientation">Orientation:
///Default value: Current ^FW setting
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees;</param>
/// <param name="e">Mod-43 Check Digit:
///Default value: N = No;
///Other value: Y = Yes</param>
/// <param name="Height">Bar Code Height:
/// Default value: Value set by ^BY ;
///Other values: 1 dot to 9999 dots
/// </param>
/// <param name="f">Print Interpretation Line
///Default value: Y = Yes;
///Other value: N = No</param>
/// <param name="g">Print Interpretation Line Above Code
///Default value: N = No ;
///Other value: Y = Yes</param>
/// <returns></returns>
public string _SetCode39(string Orientation, string e, int Height, string f, string g)
{
return string.Format("^B3{0},{1},{2},{3},{4}", Orientation, e, Height, f, g).ToUpper();
} /// <summary>
/// (^B4)Code49码(^B4o,h,f,m)
/// </summary>
/// <param name="Orientation">
/// Orientation
///Default value: Current ^FW value
///(^FW defaults to N = Normal at power-up);
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees;</param>
/// <param name="Height">Height Multiplier of Individual Rows
///Defined: This number, multiplied by the module,;
///equals the height of the individual rows in dots.;
///Default value: Value set by ^BY;
///Other values: 1 to height of label.;
///NOTE: 1 is not a recommended value.</param>
/// <param name="f">Print Interpretation Line
///Default value: N = No line printed.
///Other values:
///A = Print interpretation line above code.;
///B = Print interpretation line below code.</param>
/// <param name="m">Starting Mode
///Default value: A = Automatic Mode. Printer determines
///starting mode by analyzing field data.;
///Other values:
///0 = Regular Alphanumeric Mode;
///1 = Multiple Read Alphanumeric;
///2 = Regular Numeric Mode;
///3 = Group Alphanumeric Mode;
///4 = Regular Alphanumeric Shift 1;
///5 = Regular Alphanumeric Shift 2;</param>
/// <returns></returns>
public string _SetCode49(string Orientation, int Height, string f, string m)
{
return string.Format("^B4{0},{1},{2},{3}", Orientation, Height, f, m).ToUpper(); } /// <summary>
/// (^B7)PDF417 Bar Code(^B7o,h,s,c,r,t)
/// </summary>
/// <param name="o">Orientation Default value: Current ^FW value
///
///(^FW defaults to N = Normal at power-up);
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees;</param>
/// <param name="h">Bar Code Height for Individual Rows
///(This number, multiplied by the module, equals the
///height of the individual rows in dots.)
///Default value: Value set by ^BY;
///Other values: 1 dot to height of label.;
///NOTE: 1 is not a recommended value.</param>
/// <param name="s">Security Level
///Determines the number of error detection and correction
///code words to be generated for the symbol.
///Default level provides only error detection (no correction).
///Increasing the security level adds increasing
///levels of error correction. (Increases symbol size.)
///Default value: 0 = Error detection only;
///Other values: 1 to 8.;
///Error detection plus correction.</param>
/// <param name="c" >Number of Data Columns to Encode
///User can specify number of codeword columns giving
///control over the width of the symbol.;
///Default value: 1:2 row/column aspect ratio.;
///Other values: 1 to 30;</param>
/// <param name="r">Number of Rows to Encode
///User can specify number of symbol rows giving control
///over the height of the symbol.;
///Default value: 1:2 row/column aspect ratio.;
///Other values: 3 to 90;;
///Example: With no row or column values entered, 72
///codewords would be encoded into a symbol of 6 columns
///and 12 rows. (Depending on codewords, aspect ratio
///will not always be exact.)</param>
/// <param name="t">Truncate Right Row Indicators and Stop Pattern
///Default value: N = No truncation
///Print right row indicators and stop pattern.
///Other value: Y = Yes perform truncation.</param>
/// <returns></returns>
public string _SetCodeBDF417(string o, int h, int s, int c, int r, string t)
{
return string.Format("^B7{0},{1},{2},{3},{4},{5}", o, h, s, c, r, t).ToUpper();
} //
//
/// <summary>
/// (^B8)EAN-8 Bar Code(^B8o,h,f,g)
/// </summary>
/// <param name="o">Orientation
///Default value: Current ^FW value
///(^FW defaults to N = Normal at power-up);
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees;</param>
/// <param name="h">Bar Code Height
///Default value: Value set by ^BY;
///Other values: 1 dot to 9999 dots</param>
/// <param name="f">Print Interpretation Line
///Default value: Y = Yes;
///Other value: N = No</param>
/// <param name="g">Print Interpretation Line Above Code
///Default value: N = No;
///Other value: Y = Yes</param>
/// <returns></returns>
public string _SetCodeEAN8(string o, int h, string f, string g)
{
return string.Format("^B8{0},{1},{2},{3}", o, h, f, g).ToUpper();
} /// <summary>
/// (^B9)UPC-E Bar Code(^B9o,h,f,g,e)
/// </summary>
/// <param name="o">Orientation
///Default value: Current ^FW setting;
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees</param>
/// <param name="h">Bar Code Height
///Default value: Value set by ^BY;
///Other values: 1 dot to 9999 dots</param>
/// <param name="f">Print Interpretation Line
///Default value: Y = Yes;
///Other value: N = No</param>
/// <param name="g">Print Interpretation Line Above Code
///Default value: N = No;
///Other value: Y = Yes</param>
/// <param name="e">Print Check Digit
///Default value: Y = Yes,;
///Other value: N = No</param>
/// <returns></returns>
public string _SetCodeUPC_E(string o, int h, string f, string g, string e)
{
return string.Format("^B9{0},{1},{2},{3},{4}", o, h, f, g, e).ToUpper();
} /// <summary>
/// (^BA)Code 93 Bar Code(^BAo,h,f,g,e)
/// </summary>
/// <param name="o">Orientation
///Default value: Current ^FW setting;
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees</param>
/// <param name="h">Bar Code Height
///Default value: Value set by ^BY;
///Other values: 1 dot to 9999 dots</param>
/// <param name="f">Print Interpretation Line
///Default value: Y = Yes;
///Other value: N = No</param>
/// <param name="g">Print Interpretation Line Above Code
///Default value: N = No;
///Other value: Y = Yes</param>
/// <param name="e">Print Check Digit
///Default value: Y = Yes,;
///Other value: N = No</param>
/// <returns></returns>
public string _SetCode93(string o, int h, string f, string g, string e)
{
return string.Format("^BA{0},{1},{2},{3},{4}", o, h, f, g, e).ToUpper();
} /// <summary>
/// (^BC)Code 128 Bar Code(Subsets A, B, and C)(^BCo,h,f,g,e,m)
/// </summary>
/// <param name="o">Orientation
///Default value: Current ^FW setting;
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees</param>
/// <param name="h">Bar Code Height
///Default value: Value set by ^BY;
///Other values: 1 dot to 9999 dots</param>
/// <param name="f">Print Interpretation Line
///Default value: Y = Yes
///Other value: N = No</param>
/// <param name="g">Print Interpretation Line Above Code
///Default value: N = No;
///Other value: Y = Yes</param>
/// <param name="e">UCC Check Digit
///Default value: N = No;;
///Other value: Y = Yes</param>
/// <param name="m">Mode
///Default value: N = No mode selected;;
///Other value: U = UCC Case Mode;;
///(^FD or ^SN statement must contain 19
///numeric digits (it can also contain valid alpha
///characters). Subset C using FNC1 values is
///automatically selected.</param>
/// <returns></returns>
public string _SetCode128(string o, int h, string f, string g, string e, string m)
{
return string.Format("^BC{0},{1},{2},{3},{4},{5}", o, h, f, g, e, m);
} /// <summary>
/// (^BC)Code 128 Bar Code(Subsets A, B, and C)(^BCo,h,f,g,e,m)
/// </summary>
/// <param name="o">Orientation
///Default value: Current ^FW setting;
///Other values:
///N = Normal;
///R = Rotated, 90 degrees clockwise;
///I = Inverted, 180 degrees;
///B = Read from Bottom Up, 270 degrees</param>
/// <param name="h">Bar Code Height
///Default value: Value set by ^BY;
///Other values: 1 dot to 9999 dots</param>
/// <param name="f">Print Interpretation Line
///Default value: Y = Yes
///Other value: N = No</param>
/// <param name="g">Print Interpretation Line Above Code
///Default value: N = No;
///Other value: Y = Yes</param>
/// <param name="e">UCC Check Digit
///Default value: N = No;;
///Other value: Y = Yes</param>
/// <returns></returns>
public string _SetCode128(string o, int h, string f, string g, string e)
{
return string.Format("^BC{0},{1},{2},{3},{4}", o, h, f, g, e); } /// <summary>
/// (^BY) Change Bar Code Default Parameters(条码字段默认参数设置,用来改变窄元素(窄条或窄空)的宽度模块)
/// </summary>
/// <param name="w">模块(窄条)宽 (开机初始化值:2点 可接受的数值:1-10点) Module (Narrow Bar) Width (Initial power -up value: 2 dots ,Acceptable values: 1-10 dots)</param>
/// <param name="r">宽条与窄条的比例 (开机初始化值:3.0 可接受的数值:2.0到3.0,0.1的增量(对固定比例的条码无效))Wide Bar to Narrow Bar Width Ratio(Initial power-up ratio: 3.0 ,Acceptable ratios: From 2.0 to 3.0 in .1 increments.)</param>
/// <param name="h">条码高度 开机初始化值:10点可接受的数值:1点到标签高度(Height of Bars(Initial Power-up value: 10 dots, Acceptable values: 1 dot to height of label)</param>
/// <returns></returns>
public string _changeBarCodeDefault(int w, int r, int h)
{
string _by = string.Format("^BY{0},{1},{2}", w, r, h);
return _by.ToUpper();
} /// <summary>
/// (^BY) Change Bar Code Default Parameters(条码字段默认参数设置,用来改变窄元素(窄条或窄空)的宽度模块)
/// </summary>
/// <param name="w">模块(窄条)宽 (开机初始化值:2点 可接受的数值:1-10点) Module (Narrow Bar) Width (Initial power -up value: 2 dots ,Acceptable values: 1-10 dots)</param>
/// <param name="r">宽条与窄条的比例 (开机初始化值:3.0 可接受的数值:2.0到3.0,0.1的增量(对固定比例的条码无效))Wide Bar to Narrow Bar Width Ratio(Initial power-up ratio: 3.0 ,Acceptable ratios: From 2.0 to 3.0 in .1 increments.)</param>
/// <returns></returns>
public string _changeBarCodeDefault(int w, string r)
{
string _by = string.Format("^BY{0},{1}", w, r);
return _by.ToUpper();
} /// <summary>
/// (^LR) Reverse Print All Fields
/// </summary>
/// <param name="reverse">(y)是否以黑底白字打印{Y or N}</param>
/// <returns></returns>
public string _SetLableReverse(string reverse)
{
return string.Format("^LR{0}", reverse);
} /// <summary>
/// (^LL)设定Lable长度
/// </summary>
/// <param name="iLength">Number of Dots Along Y-Axis{Default value:1225 for Stripe ; 1244 for Xi printers}</param>
/// <returns></returns>
public string _SetLableLength(int iLength)
{
return string.Format("^LL{0}", iLength);
} /// <summary>
/// (^LS)移动Lable
/// </summary>
/// <param name="shiftValue">Shift Left Value of dots(Acceptable values: 0 to 9999 dots)</param>
/// <returns></returns>
public string _SetLableShift(int shiftValue)
{
return string.Format("^LS{0}", shiftValue);
} /// <summary>
/// (^LH) 设置Lable起点以及顶端距离(以点计算),如超出范围将抛出错误
/// </summary>
/// <param name="x">起点的X位置</param>
/// <param name="y">起点的Y位置</param>
/// <param name="width">实际Lable纸张的宽度(以点计算)</param>
/// <param name="height">实际Lable纸张的宽度(以点计算)</param>
/// <returns></returns>
public string _SetLableHomeAndTop(int x, int y, int width, int height)
{
if (y < width && x < height)
{
string _lh_lt = string.Format("^LH{0},{1}^LT{1}", x, y); return _lh_lt.ToUpper();
}
else
{
throw new Exception("超出范围");
} } /// <summary>
/// (^LH)设定Lable的起点
/// </summary>
/// <param name="x">起点的X位置</param>
/// <param name="y">起点的Y位置</param>
/// <param name="width">实际Lable纸张的宽度(以点计算)</param>
/// <param name="height">实际Lable纸张的宽度(以点计算)</param>
/// <returns></returns>
public string _SetLableHome(int x, int y)
{
return string.Format("^LH{0},{1}", x, y);
} /// <summary>
///(^LT) Lable距离顶端边的距离(以点计算)
/// </summary>
/// <param name="iTop"></param>
/// <returns></returns>
public string _SetLableTop(int iTop)
{
return string.Format("^LT{0}", iTop);
} /// <summary>
/// (^DF)下载字体
/// </summary>
/// <param name="FileName">字体文件名称包含扩展名(STOREFMT.ZPL)</param>
/// <returns></returns>
public string _SetDownLoadFont(string FileName)
{
string _df = string.Format("^DF{0}", FileName);
return _df.ToUpper();
} /// <summary>
///(^MD) 设定打印字体容度
/// </summary>
/// <param name="darknessVale">容度值默认15(-30至+30)</param>
/// <returns></returns>
public string _SetMediaDarkness(int darknessVale)
{
string _md = string.Format("^MD{0}", darknessVale);
return _md.ToUpper();
} /// <summary>
/// (^ML) Maximum Label Length
/// </summary>
/// <param name="iLength">Maximum Label Length in Dot Rows(Default value:Last permanently saved value)</param>
/// <returns></returns>
public string _SetMaxLableLength(int iLength)
{
return string.Format("^ML{0}", iLength);
} /// <summary>
/// (^MM)Print Mode
/// </summary>
/// <param name="strDesiredMode">
/// Desired Mode
/// Default value:
///T = Tear Off ;
///Other Values:
///P = Peel Off (not available on S-300 printers)
///R = Rewind (Instruction ignored if parameter
///missing or incorrect.)
///A = Applicator
/// </param>
/// <param name="strPrePeelSelect">Pre-Peel Select(Y or N)</param>
/// <returns></returns>
public string _SetPrintMode(string strDesiredMode, string strPrePeelSelect)
{
return string.Format("^MM{0},{1}", strDesiredMode, strPrePeelSelect);
} /// <summary>
/// (^MN) Set Media Tracking
/// </summary>
/// <param name="strTrack">Media Being Used
///N = Continuous Media ;
///Y = Non-Continuous Media Web Sensing</param>
/// <returns></returns>
public string _SetMedieTracking(string strTrack)
{
return string.Format("^MN{0}", strTrack);
} /// <summary>
/// (^MU)Set Mode Units
/// </summary>
/// <param name="unitsType">units type
/// Default: D = Dots
///I = Inches
///M = Millimeters</param>
/// <returns></returns>
public string _SetModeUnits(string unitsType)
{
return string.Format("^MU{0}", unitsType);
} /// <summary>
///(^PR _^PW) 设定打印速度以及打印的宽度
/// </summary>
/// <param name="PrintSpeed">打印速度值默认3(A or 2 50.8 mm/sec,B or 3 76.2 mm/sec,C or 4 101.6 mm/sec,5 127 mm/sec,D or 6 152.4 mm/sec,E or 8 203.2 mm/sec.)</param>
/// <param name="SlewSpeed">Default value: Speed D(A or 2 50.8 mm/sec,B or 3 76.2 mm/sec,C or 4 101.6 mm/sec,5 127 mm/sec,D or 6 152.4 mm/sec,E or 8 203.2 mm/sec)</param>
/// <param name="BackfeedSpeed">Default value: Speed D(A or 2 50.8 mm/sec,B or 3 76.2 mm/sec,C or 4 101.6 mm/sec,5 127 mm/sec,D or 6 152.4 mm/sec,E or 8 203.2 mm/sec)</param>
/// <param name="PrintWidth">打印宽度(根据Lable纸而定)</param>
/// <returns></returns>
public string _SetPrintRateAndWidth(int PrintSpeed, int SlewSpeed, int BackfeedSpeed, int PrintWidth)
{
string _pr_pw = string.Format("^PR{0},{1},{2}^PW{3}", PrintSpeed, SlewSpeed, BackfeedSpeed, PrintWidth);
return _pr_pw.ToUpper();
} /// <summary>
///(^PR) 设定打印速度以及打印的宽度
/// </summary>
/// <param name="PrintSpeed">打印速度值默认3(A or 2 50.8 mm/sec,B or 3 76.2 mm/sec,C or 4 101.6 mm/sec,5 127 mm/sec,D or 6 152.4 mm/sec,E or 8 203.2 mm/sec.)</param>
/// <param name="SlewSpeed">Default value: Speed D(A or 2 50.8 mm/sec,B or 3 76.2 mm/sec,C or 4 101.6 mm/sec,5 127 mm/sec,D or 6 152.4 mm/sec,E or 8 203.2 mm/sec)</param>
/// <param name="BackfeedSpeed">Default value: Speed D(A or 2 50.8 mm/sec,B or 3 76.2 mm/sec,C or 4 101.6 mm/sec,5 127 mm/sec,D or 6 152.4 mm/sec,E or 8 203.2 mm/sec)</param>
/// <returns></returns>
public string _SetPrintRate(int PrintSpeed, int SlewSpeed, int BackfeedSpeed)
{
return string.Format("^PR{0},{1},{2}", PrintSpeed, SlewSpeed, BackfeedSpeed);
} /// <summary>
/// (^PR)设置打印速度
/// </summary>
/// <param name="PrintSpeed">打印速度:
/// Print Speed
///Default value: Speed A
///Acceptable values :
///A or 2 50.8 mm/sec. (2 inches/sec.)
///B or 3 76.2 mm/sec. (3 inches/sec.)
///C or 4 101.6 mm/sec. (4 inches/sec.)
///5 127 mm/sec. (5 inches/sec.)
///D or 6 152.4 mm/sec. (6 inches/sec.)
///E or 8 203.2 mm/sec. (8 inches/sec.)
/// </param>
/// <returns></returns>
public string _SetPrintRate(int PrintSpeed)
{
return string.Format("^PR{0}", PrintSpeed);
} /// <summary>
/// (^PW)设置打印范围(宽度)
/// </summary>
/// <param name="printWidth">打印宽度</param>
/// <returns></returns>
public string _SetPrintWidth(int printWidth)
{
return string.Format("^PW{0}", printWidth);
} /// <summary>
/// (^PR_^PW) 设定打印速度以及打印的宽度
/// </summary>
/// <param name="PrintSpeed">打印速度值默认3(A or 2 50.8 mm/sec,B or 3 76.2 mm/sec,C or 4 101.6 mm/sec,5 127 mm/sec,D or 6 152.4 mm/sec,E or 8 203.2 mm/sec.)</param>
/// <param name="PrintWidth">打印宽度(根据Lable纸而定)</param>
/// <returns></returns>
public string _SetPrintRateAndWidth(int PrintSpeed, int PrintWidth)
{
return this._SetPrintRateAndWidth(PrintSpeed, 6, 6, PrintWidth);
} /// <summary>
/// (^PR_^PW) 设定打印的宽度打印速度使用默认值
/// </summary>
/// <param name="PrintWidth"></param>
/// <returns></returns>
public string _SetPrintRateAndWidth(int PrintWidth)
{
return this._SetPrintRateAndWidth(3, 6, 6, PrintWidth);
} /// <summary>
/// (^FO)设置字段的位置,相对于由^LH命令指定的标签原点
/// </summary>
/// <param name="x">Number of Dots along X-axis(Default value: = 0,Acceptable values: 0 - 9999)</param>
/// <param name="y">Number of Dots along Y-axis(Default value: = 0,Acceptable values: 0 - 9999)</param>
/// <returns></returns>
public string _SetFieldOrigin(int x, int y)
{
string _fo = string.Format("^FO{0},{1}", x, y);
return _fo.ToUpper();
} /// <summary>
/// Code 128 Bar Code (^BC)
/// </summary>
/// <param name="o">字体方向 //[N = 正常 (Normal), R = 顺时针旋转90度(Roated), I = 顺时针旋转180度(Inverted), B = 顺时针旋转270度 (Bottom)]</param>
/// <param name="h">条码高度 // [默认值:由^BY设置 其他值:1到9999点]</param>
/// <param name="f">打印注释行 //[ 默认值: Y = 打印(Yes)其他值:N = 不打印(No]</param>
/// <param name="g">将注释行打印在条码上方 //[ 默认值: N = 不打印在条码上方其他值: Y = 打印在条码上方]</param>
/// <param name="e"> 打印UCC校验位 // 默认值:Y = 打印(Yes)其他值:N = 不打印(No)</param>
/// <param name="m">= 模式 //默认值:N = 不选择模式, 其他值:U = UCC匹配模式></param>
/// <returns></returns>
public string _BCCode128(string o, int h, string f, string g, string e, string m)
{
string _bc = string.Format("^BC{0},{1},{2},{3},{4},{5}", o, h, f, g, e, m);
return _bc.ToUpper();
} /// <summary>
/// Code 128 Bar Code(^BC)
/// </summary>
/// <param name="o">字体方向 //[N = 正常 (Normal), R = 顺时针旋转90度(Roated), I = 顺时针旋转180度(Inverted), B = 顺时针旋转270度 (Bottom)]</param>
/// <param name="h">条码高度 // [默认值:由^BY设置 其他值:1到9999点]</param>
/// <param name="f">打印注释行 //[ 默认值: Y = 打印(Yes)其他值:N = 不打印(No]</param>
/// <param name="g">将注释行打印在条码上方 //[ 默认值: N = 不打印在条码上方其他值: Y = 打印在条码上方]</param>
/// <param name="e"> 打印UCC校验位 // 默认值:Y = 打印(Yes)其他值:N = 不打印(No)</param>
/// <returns></returns>
public string _BCCode128(string o, int h, string f, string g, string e)
{
return this._BCCode128(o, h, f, g, e, "N").ToUpper();
} /// <summary>
/// (^FD) 字段数据
/// </summary>
/// <param name="data">打印的数据(字段数据串最多3072字符)</param>
/// <returns></returns>
public string _SetFieldData(string data)
{
string _fd = string.Format("^FD{0}", data);
return _fd;
} /// <summary>
/// (^FH) 字段的十六进制表示(指令允许你在^FD语句里直接输入任何十六进制值。^FH指令必须在每个^FD指令前才能用)在^FD语句里,十六进制标识必须在每个十六进制值前加入(_)。缺省的十六进制标识是下划线(_)。这指令可以用在任何有数据段的指令里,(如^FD,^FV(段变量),和^SN(串行数据)
/// </summary>
/// <returns></returns>
public string _FieldHex()
{
return "^FH".ToUpper();
} /// <summary>
/// (^SN) 连续数据指令
/// </summary>
/// <param name="StartingValue">起始值</param>
/// <param name="IncrementValue">增加/减少值</param>
/// <param name="LeadingZeros">如需要加引导零. 缺省值:N=不 ;其它值:Y=是</param>
/// <returns></returns>
public string _SetSerializationData(string StartingValue, int IncrementValue, string LeadingZeros)
{
string _sn = string.Format("^SN{0},{1},{2}", StartingValue, IncrementValue, LeadingZeros.ToUpper());
return _sn;
} /// <summary>
///(^PQ) 打印总数
/// </summary>
/// <param name="q">数量(Total Quantity of Labels to Print)</param>
/// <returns></returns>
public string _SetPrintQueantity(int q)
{
string _pq = string.Format("^PQ{0}", q);
return _pq.ToUpper();
} /// <summary>
/// (^PQ)打印总数
/// {Exemples: ^PQ50,10,1,Y:---- Print a total quantity of 50 labels with one replicate
///of each serial number. Print the total quantity in groups of 10, but do
///not pause after every group.}
/// </summary>
/// <param name="q">Total Quantity of Labels to Print
/// ;Default value: 1
///;Acceptable values: 1 - 99,999,999</param>
/// <param name="p">Pause (‘Group’) Count;
/// Default value: 0 = no pause
///Acceptable values: 0 - 99,999,999 labels between pauses
/// </param>
/// <param name="r">Replicates of Each Serial Number;
/// Default value: 0 = no replicates
///Acceptable values: 0 - 99,999,999 replicates
/// </param>
/// <param name="o">Override Pause Count;
/// Default value: N = No
///Other value: Y = Yes
/// </param>
/// <returns></returns>
public string _SetPrintQueantity(int q, int p, int r, string o)
{
return string.Format("^PQ{0},{1},{2},{3}", q, p, r, o);
} /// <summary>
/// (^PM)Print Mirror Image of Lable(
/// NOTE: The ^PM will remain active unless turned off by ^PMN
///instruction or the printer is powered down.)
/// </summary>
/// <param name="a">Mirror Print Entire Label
///Y = Yes
///N = No {I.V.P. = N}</param>
/// <returns></returns>
public string _SetMirrorImageLable(string a)
{
return string.Format("^PM{0}", a);
} /// <summary>
/// (^PO)Print Orientation
/// </summary>
/// <param name="a">a = Invert 180 Degrees
///N = Normal {I.V.P. = N}
///I = Invert</param>
/// <returns></returns>
public string _SetPrintOrientation(string a)
{
return string.Format("^PO{0}", a);
} /// <summary>
/// (^GF)Graphic Field(图片打印)
/// </summary>
/// <param name="CompressionType">
/// Default:ASCII
/// Value:
/// A = ACSII Hex:
/// This follows the conventional download format
/// used for all other download commands.
/// B = Binary:
/// The data sent to the printer after the ‘c’ parameter
/// is strictly binary.
/// C = Compression Binary :
/// The data sent after parameter ‘c’ is in a compressed
/// binary format. The data is compressed on
/// the host side using a compression algorithm supplied
/// by Zebra. The data is then decompressed
/// and placed directly in the bitmap.
/// </param>
/// <param name="BinaryByteCount">
/// Binary Byte Count
/// Default:Note-entire command is ignored when not specified
/// Value:Total number of bytes
/// Range:1 to 99999
/// </param>
/// <param name="GraphicFieldCount">
/// Graphic Field Count
/// </param>
/// <param name=";ByteperRow">
/// Bytes per Row
/// </param>
/// <param name="strData">
/// Default:None=must be specified
/// ASCII Hex Data:
/// </param>
/// <returns></returns>
public string _SetGraphicField(string CompressionType, string BinaryByteCount,
string GraphicFieldCount, string ByteperRow, string strData)
{
return string.Format("^GF{0},{1},{2},{3},{4}", CompressionType.ToUpper(), BinaryByteCount, GraphicFieldCount, ByteperRow, strData);
} public string _SetFieldNumber(int i)
{
return string.Format("^FN{0}", i);
}
public string _SetRecallFormat(string FieldName)
{
return string.Format("^XF{0}", FieldName);
} /// <summary>
///(^FWr) Set Field Orientation
/// </summary>
/// <param name="Orig">Rotate Field
/// N = Normal {I.V.P. = N}
/// R = Rotated 90 degrees;
/// I = Inverted (180 degrees);
/// B = Bottom Up (270 degrees read from bottom up).
/// </param>
/// <returns></returns>
public string _SetFieldOrientation(string Orig)
{
return string.Format("^FW{0}", Orig);
} }
}

C#打印机操作类的更多相关文章

  1. 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~

    最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...

  2. JQuery操作类数组的工具方法

    JQuery学习之操作类数组的工具方法 在很多时候,JQuery的$()函数都返回一个类似数据的JQuery对象,例如$('div')将返回div里面的所有div元素包装的JQuery对象.在这中情况 ...

  3. Util应用程序框架公共操作类(十二):Lambda表达式公共操作类(三)

    今天在开发一个简单查询时,发现我的Lambda操作类的GetValue方法无法正确获取枚举类型值,以至查询结果错误. 我增加了几个单元测试来捕获错误,代码如下. /// <summary> ...

  4. Util应用程序框架公共操作类(九):Lambda表达式扩展

    上一篇对Lambda表达式公共操作类进行了一些增强,本篇使用扩展方法对Lambda表达式进行扩展. 修改Util项目的Extensions.Expression.cs文件,代码如下. using Sy ...

  5. Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)

    前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类. Lambda表达式公共操作类,我在前面已经简单介绍 ...

  6. Util应用程序框架公共操作类(七):Lambda表达式公共操作类

    前一篇扩展了两个常用验证方法,本文将封装两个Lambda表达式操作,用来为下一篇的查询扩展服务. Lambda表达式是一种简洁的匿名函数语法,可以用它将方法作为委托参数传递.在Linq中,大量使用La ...

  7. Util应用程序框架公共操作类(六):验证扩展

    前面介绍了仓储的基本操作,下面准备开始扩展查询,在扩展查询之前,首先要增加两个公共操作类,一个是经常要用到的验证方法,另一个是Lambda表达式的操作类. 很多时候,我们会判断一个对象是否为null, ...

  8. Util应用程序框架公共操作类(五):异常公共操作类

    任何系统都需要处理错误,本文介绍的异常公共操作类,用于对业务上的错误进行简单支持. 对于刚刚接触.Net的新手,碰到错误的时候,一般喜欢通过返回bool值的方式指示是否执行成功. public boo ...

  9. Util应用程序框架公共操作类(四):验证公共操作类

    为了能够验证领域实体,需要一个验证公共操作类来提供支持.由于我将使用企业库(Enterprise Library)的验证组件来完成这项任务,所以本文也将演示对第三方框架的封装要点. .Net提供了一个 ...

随机推荐

  1. CCIE-MPLS VPN-实验手册(中卷)

    5:MPLS VPN PE CE OSPF 实验1 5.1 实验拓扑 5.2 实验需求 a. R1 R2 R3 组成P-NETWORK,底层协议采用EIGRP b. R1 R2 R3 直连链路启用LD ...

  2. 201521123033《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. answer: 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 1.List中指定元 ...

  3. 201521044091 《Java程序设计》第3周学习总结

    1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 本周学习总结 ...

  4. Java课程设计-随机密码生成器

    1.团队课程设计博客链接 团队课程设计博客地址 2.个人负责模板 随即密码生成器算法 3.自己的代码提交记录截图 4.自己负责模块或任务详细说明 负责随机密码算法设计实现 通过不同种类选择下生成密码, ...

  5. Window10中利用Windbg与虚拟机(window7)中调试驱动建立方法

    想起自己的windbg配置就转载:eqera的windows内核调试配置,真的是获益良多希望他不会介意我转载他的博客,帮了我很多,记录下来给我也给大家, 其中我主要看的是VMWare的pipe建立,而 ...

  6. linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法

    一.vi文字处理器1.vi与vimvi:文字处理器vim:程序开发工具2.vi介绍三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:w ...

  7. Oracle 修改序列的初始值

    Oracle 序列(Sequence)主要用于生成主键.但是,有时需要修改序列初始值(START WITH)时,好多人凭感觉认为:Alter Sequence SequenceName Start W ...

  8. C# 下搭建最新版OpenCV(Emgu CV)开发环境

    既然是"最新版" 首先当然是去sf找安装包: https://sourceforge.net/projects/emgucv/files/emgucv/ 或着去github主页上c ...

  9. mybatis 自动生成代码(mybatis generator)

    pom.xml 文件配置 引入 mybatis generator <properties> <mysql.connector.version>5.1.44</mysql ...

  10. HTML超文本

    1.HTML链接 2.HTML表格 3.HTML图像 4.HTML列表 5.HTML块 6.HTML布局 7.HTML表单 1.HTML链接 (1)给文字及图片添加超链接 < html> ...