在電算化會計工作中,幾乎所有的由電腦產生的會計檔案都應當按照會計制度規定的格式進行輸出設計。例如各類帳本和記帳憑證等。通常,這些檔案的列印輸出處理方式有兩種:
第一種:非套打方式------根據會計軟體產生的應輸出的檔案,列印時,既列印應當輸出的資料,也將帳本上印刷的格線列印出來。這種方式適用於在無痕迹的白紙上列印輸出會計檔案。 第二種:套打方式------在這種方式下,會計軟體的生產商必須在生產會計軟體的同時,配套 生產既符合會計制度規定又滿足該種會計軟體輸出要求的印有格線、格式固定的空白帳證和報表。電算會計在列印輸出會計檔案時,只套用現有格式列印應當輸出的 資料,並不將帳本上印刷的格線列印出來。這樣,提高了列印輸出效率,降低了印表機損耗,節約了列印成本。 目前,一些較成熟的會計軟體同時提供了套打和非套打兩種會計檔案列印輸出方式,例如金蝶、用友等財務軟體。 當然,這組概念也可以用於非會計軟體的其他軟體設計當中。
這意思我們在平時生活中都用過的,車票了,條碼,什麼的,等等,都有...
在網上看了下,實現的過程,建了一個列印操作的類,具體的實現方法如下:
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]); }
以上代碼就是.有從別人那拿的,呵呵