<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825427
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    原文:
    http://blog.csdn.net/JustLovePro/article/details/2246339
    兩種打印方式:機器碼打印、調(diào)用CodeSoft.

    調(diào)用CodeSoft打印:
     利用第三方軟件codesofe進行l(wèi)abel設(shè)計,然后在程序中調(diào)用打印。

     這種方式維護起來比較方便,手動調(diào)整label各參數(shù)指標即可。

     準備工作:
     1.安裝打印機驅(qū)動
     2.安裝codeSoft
     3.設(shè)計label,設(shè)置label參數(shù)
     
     程序?qū)崿F(xiàn):
      注意首先添加引用:Lppx2.tlb (codesoft安裝后文件中)

    using LabelManager2;         //引入命名空間
    private void btnPrint_Click(object sender, EventArgs e)
            
    {
                ApplicationClass lbl 
    = new ApplicationClass();

                
    try
                
    {
                    lbl.Documents.Open(
    @"D:label.Lab"false);// 調(diào)用設(shè)計好的label文件
                    Document doc = lbl.ActiveDocument;
                    doc.Variables.FormVariables.Item(
    "Var0").Value = txtContent.Text.Trim(); //給參數(shù)傳值
                    doc.Variables.FormVariables.Item("Var1").Value = txtContent2.Text.Trim(); //給參數(shù)傳值

                    
    int Num = Convert.ToInt32(txtQuentity.Text);        //打印數(shù)量
                    doc.PrintDocument(Num);                             //打印
                }

                
    catch (Exception ex)
                
    {
                    MessageBox.Show(ex.Message);
                }

                
    finally
                
    {
                    lbl.Quit();                                         
    //退出
                }

            }

    機器碼打印:
     這種方式直接使用打印機機器指令進行打印,調(diào)用系統(tǒng)接口函數(shù)實現(xiàn)。
     1.建立接口函數(shù)類 LPTControl
     

    using   System;   
    using   System.Collections.Generic;   
    using   System.Text;   
    using   System.Runtime.InteropServices;

    namespace SMTOffLine
    {
        
    class LPTControl
        
    {
            [StructLayout(LayoutKind.Sequential)]
            
    private struct OVERLAPPED
            
    {
                
    int Internal;
                
    int InternalHigh;
                
    int Offset;
                
    int OffSetHigh;
                
    int hEvent;
            }


            [DllImport(
    "kernel32.dll")]
            
    private static extern int CreateFile(
            
    string lpFileName,
            
    uint dwDesiredAccess,
            
    int dwShareMode,
            
    int lpSecurityAttributes,
            
    int dwCreationDisposition,
            
    int dwFlagsAndAttributes,
            
    int hTemplateFile
            );


            [DllImport(
    "kernel32.dll")]
            
    private static extern bool WriteFile(
            
    int hFile,
            
    byte[] lpBuffer,
            
    int nNumberOfBytesToWrite,
            
    out   int lpNumberOfBytesWritten,
            
    out   OVERLAPPED lpOverlapped
            );


            [DllImport(
    "kernel32.dll")]
            
    private static extern bool CloseHandle(
            
    int hObject
            );

            
    private int iHandle;
            
    public bool Open()
            
    {
                iHandle 
    = CreateFile("lpt1"0x4000000000300);
                
    if (iHandle != -1)
                
    {
                    
    return true;
                }

                
    else
                
    {
                    
    return false;
                }

            }


            
    public bool Write(String Mystring)
            
    {
                
    if (iHandle != -1)
                
    {
                    
    int i;
                    OVERLAPPED x;
                    
    byte[] mybyte = System.Text.Encoding.Default.GetBytes(Mystring);
                    
    return WriteFile(iHandle, mybyte, mybyte.Length, out  i, out  x);
                }

                
    else
                
    {
                    
    throw new Exception("打印機端口未打開!");
                }

            }


            
    public bool Close()
            
    {
                
    return CloseHandle(iHandle);
            }


        }

    }

    2.程序?qū)崿F(xiàn)
     

     private void btnPrint_Click(object sender, EventArgs e)
            
    {
                
    string PtrStr = "";
                
    string MaterialNo="";
                
    string StartValue="";
                
    int PrintNum ;

                LPTControl Print 
    = new LPTControl();
                
    try
                
    {
                    Print.Open();
                    
    for (int i = 0; i < dtPrint.Rows.Count; i++)
                    
    {
                         MaterialNo 
    = dtPrint.Rows[i][0].ToString();
                         StartValue 
    = dtPrint.Rows[i][1].ToString();

                        PrintNum 
    = Convert.ToInt32(numericUpDown1.Value);

                        
    for (int j = 0; j < PrintNum; j++)
                        
    {
                            
    int FlowNo =(Convert.ToInt32(StartValue) + j+1);
                            
    string StrFlowNo = FlowNo.ToString("000000");
                            PtrStr 
    = "";
                            PtrStr 
    += "^XA^LH40,20";

                            PtrStr 
    += "^FO10,10^BY3,2,90^B3,N,90,N,N^FD" + MaterialNo + "^FS";
                            PtrStr 
    += "^FO10,105^AE^FD" + MaterialNo + "^FS";

                            PtrStr 
    += "^FO10,145^BY3,2,90^B3,N,90,N,N^FD" + StrFlowNo + "^FS";
                            PtrStr 
    += "^FO10,245^AE^FD" + StrFlowNo + "^FS";

                            PtrStr 
    += "^FO10,280^BY3,2,90^B3,N,90,N,N^FD" + DateTime.Now.ToString("yyyy-MM-dd"+ "^FS";
                            PtrStr 
    += "^FO10,385^AE^FD" + DateTime.Now.ToString("yyyy-MM-dd"+ "^FS";

                            PtrStr 
    += "^XZ";

                            Print.Write(PtrStr);

                        }


                        
    //update newest Num to DB  
                        int NewNum = Convert.ToInt32(StartValue) +PrintNum;
                        
    string SqlUpdate = "update tablelabel set curren_value=" + NewNum + " where material_id='" + MaterialNo + "'";
                        
    try
                        
    {
                            DAL DbOp 
    = new DAL();
                            DbOp.ExecDBOp(SqlUpdate);
                        }

                        
    catch (Exception ex)
                        
    {
                            MessageBox.Show(
    "Error","information");
                        }
                     
                    }
          
                }

                
    catch (Exception ex)
                
    {
                    MessageBox.Show(ex.Message, 
    "Information");
                }

                
    finally
                
    {
                    Print.Close();
                }



            }



    posted on 2012-09-13 11:26 Ke 閱讀(2179) 評論(0)  編輯  收藏 所屬分類: C#
    主站蜘蛛池模板: 国产成人AV免费观看| 亚洲欧美国产国产综合一区| 亚洲国产精品成人精品无码区| 亚洲女同成人AⅤ人片在线观看| 亚洲AV无码成人精品区大在线| 亚洲?V无码乱码国产精品| 2022中文字字幕久亚洲| 久久伊人亚洲AV无码网站| 亚洲午夜国产精品无码老牛影视 | 最新亚洲成av人免费看| 中文字字幕在线高清免费电影| 拍拍拍无挡视频免费观看1000| 久久福利青草精品资源站免费| 四虎国产成人永久精品免费 | 国产成人综合亚洲绿色| 香蕉视频免费在线| fc2成年免费共享视频网站| 99视频免费在线观看| 一级毛片免费视频| 久久经典免费视频| 国产成人青青热久免费精品| 亚洲国产精品无码久久青草| 亚洲日韩乱码中文无码蜜桃臀网站| 亚洲av日韩综合一区在线观看| 亚洲成a人片在线观| 亚洲AV永久无码精品网站在线观看| 欧洲美女大片免费播放器视频 | 亚洲人成在线播放| 精品亚洲国产成人av| a级毛片免费网站| 91精品手机国产免费| 日韩人妻无码免费视频一区二区三区| 又黄又爽的视频免费看| 亚洲国产精品无码中文字| 亚洲av片不卡无码久久| 国产成人精品亚洲一区| 久久久国产精品福利免费| 永久免费AV无码国产网站| 亚洲国产人成精品| 久久久久亚洲AV无码网站| 国产亚洲一卡2卡3卡4卡新区 |