貌似打印机都支持plc的   那么我将我的数据发送plc代码直接打印行吗
我的数据是这样的 款号   11111
尺码   1212
序号   1
件数   223
颜色   黑色
部位   胸前印花
床号   01
编号   01-90如果我有100组上边的数据  我怎样处理好  想晕了  已经没有力气想了  

解决方案 »

  1.   

    你得根据不同的打印机的API来格式
    然后传值入内! 如下$WLID,表示参数,读取数据后,打开此模板文件,替换!另存为,调用 ,打印
    SYSVAR(18)=0
    SYSVAR(35)=1
    INPUT OFF
    NEW 
    OPEN "tmp:setup.sys" for output as #2
    PRINT#2, "MEDIA,MEDIA SIZE,LENGTH,1200"
    PRINT#2, "MEDIA,MEDIA SIZE,XSTART,0"
    PRINT#2, "MEDIA,MEDIA SIZE,WIDTH,832"
    PRINT#2, "MEDIA,MEDIA TYPE,LABEL (w GAPS)"
    PRINT#2, "FEEDADJ,STARTADJ,-100"
    PRINT#2, "FEEDADJ,STOPADJ,0"
    PRINT#2, "PRINT DEFS,PRINT SPEED,200"
    PRINT#2, "MEDIA,PAPER TYPE,TRANSFER"
    PRINT#2, "MEDIA,PAPER TYPE,TRANSFER,RIBBON CONSTANT,90"
    PRINT#2, "MEDIA,PAPER TYPE,TRANSFER,RIBBON FACTOR,25"
    PRINT#2, "MEDIA,PAPER TYPE,TRANSFER,LABEL OFFSET,0"
    PRINT#2, "MEDIA,CONTRAST,+0%"
    CLOSE #2
    Setup "tmp:setup.sys"
    Kill "tmp:setup.sys"
    OPTIMIZE "BATCH" ON
    LTS& OFF
    error 15,"Font not Found"
    error 18,"Disk Full"
    error 23,"Image Not Found"
    error 26,"Parameter to Large"
    error 27,"Parameter to Small"
    error 37,"Cutter Device not Found"
    error 43,"Memory overflow"
    error 1003,"Field out of label"
    INPUT OFF
    FORMAT INPUT CHR$(2),CHR$(3),CHR$(13)
    LAYOUT INPUT "tmp:LBLSOFT.LAY"
    NASC -2:AN 7
    CLIP OFF
    CLIP BARCODE OFF
    XORMODE OFFMAG 1,1
    BF OFF
    BF "Dutch 801 Roman BT",14,0,0,1,1:PP  80,1100:DIR 1:BT "UCC128":BM 4:BR 5,2:BH 120:PB "$ULID"
    MAG 1,1
    BF OFF
    BF "Prestige 12 Pitch Bold BT",11,0,0,1,1:PP 80,880:DIR 1:BT "CODE128":BM 6:BR 5,2:BH 120:PB "$WLID"
    MAG 1,1
    BF OFF
    BF "Century Schoolbook BT",11,0,0,1,1:PP 80,580:DIR 1:BT "CODE128":BM 6:BR 5,2:BH 120:PB "$WLPH"
    MAG 1,1
    BF OFF
    BF "Swiss 721 Bold Condensed BT",11,0,0,1,1:PP 80,370:DIR 1:BT "CODE128":BM 6:BR 5,2:BH 120:PB "$BZGG"MAG 1,1
    BF OFF
    BF "Swiss 721 BT",11,0,0,1,1:PP 80,180:DIR 1:BT "CODE128":BM 5:BR 5,2:BH 50:PB "$KG"NASC -2
    AN 7
    DIR 1PP 100,980:FONTD "Song",16,0,120:NASCD "rom:GB2312.NCD":PT "地台板编号:$ULID"PP 100,760:FONTD "Song",16,0,120:NASCD "rom:GB2312.NCD":PT "物料号:$WLID"
    PP 100,460:FONTD "Song",16,0,120:NASCD "rom:GB2312.NCD":PT "物料批号: $WLPH"PP 100,250:FONTD "Song",16,0,120:NASCD "rom:GB2312.NCD":PT "包装规格:$BZGG"PP 500,180:FONTD "Song",14,0,80:NASCD "rom:GB2312.NCD":PT "单位:$KG"LAYOUT END
    LAYOUT RUN "tmp:LBLSOFT.LAY"
    INPUT ON
    PF 
    PRINT KEY OFF/****** 下面是CS代码 ****/
            public static String ReplaceLabelInformation(String[] labelInfo, StringBuilder sb)
            {
                sb.Replace("$ULID", labelInfo[0]);
                sb.Replace("$WLID", labelInfo[1]);
                sb.Replace("$WLPH", labelInfo[2]);
                sb.Replace("$BZGG", labelInfo[3]);
                sb.Replace("$KG", labelInfo[4]);
                //sb.Replace("$WLNAME", labelInfo[5]);
                //sb.Replace("$JKX", labelInfo[6]);
                //sb.Replace("$YRX", labelInfo[7]);
                //sb.Replace("$FYX", labelInfo[8]);
                return sb.ToString();
            }
            public static String ReplaceChildLabelInformation(String[] labelInfo, StringBuilder sb)
            {
                sb.Replace("$WLID", labelInfo[0]);
                sb.Replace("$WLPH", labelInfo[1]);
                //sb.Replace("$WLNAME", labelInfo[2]);
                sb.Replace("$WLDis", labelInfo[2]);
                return sb.ToString();
            }
            public static StringBuilder ReadTemplate(String filename)
            {
                StringBuilder sb = new StringBuilder();
                FileInfo fi = new FileInfo(filename);
                using (FileStream fs = fi.OpenRead())
                {
                    StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("GB2312"));
                    string oneline = "";
                    if (ConfigurationSettings.AppSettings["isNewLine"].ToString().Equals("1"))
                    {
                        while ((oneline = sr.ReadLine()) != null)
                        {                        sb.Append(oneline + "\r\n");
                        }
                    }
                    else
                    {
                        while ((oneline = sr.ReadLine()) != null)
                        {                        sb.Append(oneline);
                        }
                    }
                   
                    sr.Close();
                }
                return sb;
            }