C#套打

來源:互聯網
上載者:User

在電算化會計工作中,幾乎所有的由電腦產生的會計檔案都應當按照會計制度規定的格式進行輸出設計。例如各類帳本和記帳憑證等。通常,這些檔案的列印輸出處理方式有兩種:

  第一種:非套打方式------根據會計軟體產生的應輸出的檔案,列印時,既列印應當輸出的資料,也將帳本上印刷的格線列印出來。這種方式適用於在無痕迹的白紙上列印輸出會計檔案。   第二種:套打方式------在這種方式下,會計軟體的生產商必須在生產會計軟體的同時,配套 生產既符合會計制度規定又滿足該種會計軟體輸出要求的印有格線、格式固定的空白帳證和報表。電算會計在列印輸出會計檔案時,只套用現有格式列印應當輸出的 資料,並不將帳本上印刷的格線列印出來。這樣,提高了列印輸出效率,降低了印表機損耗,節約了列印成本。   目前,一些較成熟的會計軟體同時提供了套打和非套打兩種會計檔案列印輸出方式,例如金蝶、用友等財務軟體。   當然,這組概念也可以用於非會計軟體的其他軟體設計當中。

 

這意思我們在平時生活中都用過的,車票了,條碼,什麼的,等等,都有...

 

 

   在網上看了下,實現的過程,建了一個列印操作的類,具體的實現方法如下:

 

PublicPrint.cs 列印操作類

using System; using System.Collections.Generic; using System.Text;
using System.Data; using System.Drawing;
namespace WindowsFormsPing {     class PublicPrint     {              public PublicPrint()         {                    }
        public void Postion(Graphics e, DataTable dt)         {             int x = 60;//x座標
            int y = 50;//y座標
            Font fontNormalContent = new System.Drawing.Font("華文楷體", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            Pen pen = new Pen(Color.Black, 1);
            for (int i = 0; i < dt.Rows.Count; i++)             {
                string wpmc = dt.Rows[i]["MC"].ToString();//名稱
                string wpgg = dt.Rows[i]["GG"].ToString();//規格
                string wpdw = dt.Rows[i]["DW"].ToString();//單位
                string wpsl = dt.Rows[i]["SL"].ToString();//數量
                string wpdj = dt.Rows[i]["DJ"].ToString();//單價
                string wpje = dt.Rows[i]["JE"].ToString();//金額
                string sjxx = DateTime.Parse(dt.Rows[i]["DJSJ"].ToString()).ToShortDateString();//時間

                e.DrawString(wpmc + " " + wpgg, fontNormalContent, Brushes.Black, x, y);
                e.DrawString(wpdw, fontNormalContent, Brushes.Black, x + 80, y);
                e.DrawString(wpsl, fontNormalContent, Brushes.Black, x + 115, y);
                e.DrawString(wpdj, fontNormalContent, Brushes.Black, x + 160, y);

                //寫入時間
                if (i == 0)                 {
                    string year = sjxx.Substring(2, 2);
                    string month = sjxx.Substring(5, 2);
                    string day = sjxx.Substring(8, 2);
                    e.DrawString(year, fontNormalContent, Brushes.Blue, 150, 25);
                    e.DrawString(month, fontNormalContent, Brushes.Blue, 170, 25);
                    e.DrawString(day, fontNormalContent, Brushes.Blue, 190, 25);
                }
                y += 30;
            }         }     } }

 

 

 

頁面調用.cs類:

 

        private void btnPrint_Click(object sender, EventArgs e)         {             if (printDialog1.ShowDialog() == DialogResult.OK)             {                 printDocument1.PrinterSettings = printDialog1.PrinterSettings;
                printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(printDocument1_PrintPage);                 printDocument1.Print();
            }         } 
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)         {             Graphics g = e.Graphics;
            DataSet ds = new DataSet();//綁定資料來源             PublicPrint p = new PublicPrint();             p.Postion(g, ds.Tables[0]);         } 

 

 

以上代碼就是.有從別人那拿的,呵呵

在電算化會計工作中,幾乎所有的由電腦產生的會計檔案都應當按照會計制度規定的格式進行輸出設計。例如各類帳本和記帳憑證等。通常,這些檔案的列印輸出處理方式有兩種:

  第一種:非套打方式------根據會計軟體產生的應輸出的檔案,列印時,既列印應當輸出的資料,也將帳本上印刷的格線列印出來。這種方式適用於在無痕迹的白紙上列印輸出會計檔案。   第二種:套打方式------在這種方式下,會計軟體的生產商必須在生產會計軟體的同時,配套 生產既符合會計制度規定又滿足該種會計軟體輸出要求的印有格線、格式固定的空白帳證和報表。電算會計在列印輸出會計檔案時,只套用現有格式列印應當輸出的 資料,並不將帳本上印刷的格線列印出來。這樣,提高了列印輸出效率,降低了印表機損耗,節約了列印成本。   目前,一些較成熟的會計軟體同時提供了套打和非套打兩種會計檔案列印輸出方式,例如金蝶、用友等財務軟體。   當然,這組概念也可以用於非會計軟體的其他軟體設計當中。

 

這意思我們在平時生活中都用過的,車票了,條碼,什麼的,等等,都有...

 

 

   在網上看了下,實現的過程,建了一個列印操作的類,具體的實現方法如下:

 

PublicPrint.cs 列印操作類

using System; using System.Collections.Generic; using System.Text;
using System.Data; using System.Drawing;
namespace WindowsFormsPing {     class PublicPrint     {              public PublicPrint()         {                    }
        public void Postion(Graphics e, DataTable dt)         {             int x = 60;//x座標
            int y = 50;//y座標
            Font fontNormalContent = new System.Drawing.Font("華文楷體", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            Pen pen = new Pen(Color.Black, 1);
            for (int i = 0; i < dt.Rows.Count; i++)             {
                string wpmc = dt.Rows[i]["MC"].ToString();//名稱
                string wpgg = dt.Rows[i]["GG"].ToString();//規格
                string wpdw = dt.Rows[i]["DW"].ToString();//單位
                string wpsl = dt.Rows[i]["SL"].ToString();//數量
                string wpdj = dt.Rows[i]["DJ"].ToString();//單價
                string wpje = dt.Rows[i]["JE"].ToString();//金額
                string sjxx = DateTime.Parse(dt.Rows[i]["DJSJ"].ToString()).ToShortDateString();//時間

                e.DrawString(wpmc + " " + wpgg, fontNormalContent, Brushes.Black, x, y);
                e.DrawString(wpdw, fontNormalContent, Brushes.Black, x + 80, y);
                e.DrawString(wpsl, fontNormalContent, Brushes.Black, x + 115, y);
                e.DrawString(wpdj, fontNormalContent, Brushes.Black, x + 160, y);

                //寫入時間
                if (i == 0)                 {
                    string year = sjxx.Substring(2, 2);
                    string month = sjxx.Substring(5, 2);
                    string day = sjxx.Substring(8, 2);
                    e.DrawString(year, fontNormalContent, Brushes.Blue, 150, 25);
                    e.DrawString(month, fontNormalContent, Brushes.Blue, 170, 25);
                    e.DrawString(day, fontNormalContent, Brushes.Blue, 190, 25);
                }
                y += 30;
            }         }     } }

 

 

 

頁面調用.cs類:

 

        private void btnPrint_Click(object sender, EventArgs e)         {             if (printDialog1.ShowDialog() == DialogResult.OK)             {                 printDocument1.PrinterSettings = printDialog1.PrinterSettings;
                printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(printDocument1_PrintPage);                 printDocument1.Print();
            }         } 
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)         {             Graphics g = e.Graphics;
            DataSet ds = new DataSet();//綁定資料來源             PublicPrint p = new PublicPrint();             p.Postion(g, ds.Tables[0]);         } 

 

 

以上代碼就是.有從別人那拿的,呵呵

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.