C#小票打?。ㄍㄓ茫?創(chuàng)新互聯(lián)

之前打印都是用串口,現(xiàn)在很多打印機(jī)都是USB接口的,換了USB接口的打印機(jī)后,USB接口的程序一直沒辦法打印,后來調(diào)用廠商的DLL, 但很麻煩,在網(wǎng)上找了很多,都沒有找到合適的,之后參考了PrintDocument類一些打印方法,測(cè)試成功,貼出代碼,如有不對(duì)的地方,和需要優(yōu)化的,請(qǐng)指出。

創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為千余家服務(wù),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!

首先:

//定義一個(gè)字符串流,用來接收所要打印的數(shù)據(jù)

 private StringReader sr;

//str要打印的數(shù)據(jù)

 public bool Print(string str)
        {
            bool result = true;
            try
            {

 sr = new StringReader(sb.ToString());

                PrintDocument pd = new PrintDocument();
                pd.PrintController = new System.Drawing.Printing.StandardPrintController();
                pd.DefaultPageSettings.Margins.Top = 2;
                pd.DefaultPageSettings.Margins.Left = 0;
                pd.DefaultPageSettings.PaperSize.Width = 320;
                pd.DefaultPageSettings.PaperSize.Height = 5150;
                pd.PrinterSettings.PrinterName = pd.DefaultPageSettings.PrinterSettings.PrinterName;//默認(rèn)打印機(jī)
                pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
                pd.Print();

            }
            catch (Exception ex)
            {
                result = false;
            }
            finally
            {
                if (sr != null)
                    sr.Close();
            }
            return result;
        }

  private void pd_PrintPage(object sender, PrintPageEventArgs ev)
        {
        Font    printFont = new Font("Arial", 9);//打印字體

            float linesPerPage = 0;
            float yPos = 0;
            int count = 0;
            float leftMargin = ev.MarginBounds.Left;
            float topMargin = ev.MarginBounds.Top;
            String line = "";

              linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics);
            while (count < linesPerPage && ((line = sr.ReadLine()) != null))
            {
                yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));
                ev.Graphics.DrawString(line, printFont, Brushes.Black,
                   leftMargin, yPos, new StringFormat());
                count++;
            }

            // If more lines exist, print another page.
            if (line != null)
                ev.HasMorePages = true;
            else
                ev.HasMorePages = false;
        }

調(diào)用Print(string str)方法就可以打印啦!
例:   StringBuilder sb = new StringBuilder();
            sb.Append("     益民停車場(chǎng)管理系統(tǒng)  \n");
            sb.Append("*************************************\n");
            sb.Append("進(jìn)場(chǎng)時(shí)間:" + DateTime.Now.ToString() + "\n");
            sb.Append("出場(chǎng)時(shí)間:" + DateTime.Now.AddHours(2).ToString() + "\n");
            sb.Append("停車時(shí)長(zhǎng):   2   小時(shí)\n");
            sb.Append("停車收費(fèi):   5     元\n");
            sb.Append("*************************************\n");

            Print(string sb.toString());

另外:此方法不管是串口,并口,還是USB接口的打印機(jī)都可以調(diào)用,前提是一定要將打印機(jī)設(shè)為默認(rèn)打印機(jī)。如果要關(guān)閉打印機(jī),可設(shè)一個(gè)BOOL變量,如果為true則調(diào)用,否則不調(diào)用。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前文章:C#小票打?。ㄍㄓ茫?創(chuàng)新互聯(lián)
鏈接地址:http://bm7419.com/article42/dpdghc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)、云服務(wù)器商城網(wǎng)站、關(guān)鍵詞優(yōu)化做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)