C#印表機操作類
阿新 • • 發佈:2020-12-11
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); } } }
轉自https://www.cnblogs.com/smartsmile/p/6234216.html