請教一下C#列印相關問題
我目前想要列印一份文件,這份文件的排版我已經用Form排版完畢了
而起初我要進行列印使用的方式是先建立一個Bitmap bmp將整份Form繪製成圖形,並將它列印下來
但列印的時候發現他的解析度非常非常的低因而去尋找其他方式
後來我又找了方法是要列印的時候把每個Label重新繪製
e.Graphics.DrawString(label2.Text, new Font("微軟正黑體", 24, FontStyle.Bold), Brushes.Black, 154, 21);
發現列印出來的非常清晰
但這樣的話我有幾十條label都需要去寫他的位置
更重要的是當初在排版時都是使用Panel跟TableLayoutPanel去進行排版
等於我沒辦法直接從屬性裡面找到他的位置我還要自己重新計算
請問有將我指定的label直接在原位繪製或是將整份Form都在列印時重新繪製的方式嗎
如果文件是固定格式只需要更改內容的固定欄位, 我覺得用畫方式的好慢.
可以google[C# 套版]的關鍵字
我目前的確是用固定欄位改內容
Graphics g = e.Graphics;
//e.Graphics.DrawImage(bmp, 0, 0);
g.DrawImage(Properties.Resources.Y_E_logo, 10, 18, 135, 58);
g.DrawString(OrderNumber.Text, new Font("微軟正黑體", 10, FontStyle.Regular), Brushes.Black, 600, 21);
g.DrawString(OrderDate.Text, new Font("微軟正黑體", 10, FontStyle.Regular), Brushes.Black, 600, 40);
g.DrawString(label2.Text, new Font("微軟正黑體", 24, FontStyle.Bold), Brushes.Black, 154, 21);
g.DrawString(label20.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 10, 75);
g.DrawString(MN.Text, new Font("微軟正黑體", 16, FontStyle.Regular), Brushes.Black, 91, 70);
g.DrawString(label15.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 10, 103);//聯絡人
g.DrawString(SN.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 91, 103);
g.DrawString(label6.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 10, 124); //連絡電話
g.DrawString(SP.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 91, 124);
g.DrawString(label7.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 10, 145);//廠商電話
g.DrawString(MT.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 91, 145);
g.DrawString(label5.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 10, 166);//交貨日期
g.DrawString(DD.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 91, 166);
g.DrawString(label17.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 220, 103);//出貨方式
g.DrawString(Send.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 301, 103);
g.DrawString(label8.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 220, 124);//聯絡分機
g.DrawString(SPF.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 301, 124);
g.DrawString(label11.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 220, 145);//廠商傳真
g.DrawString(MF.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 301, 145);
g.DrawString(Condition_Lab.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 220, 166);//付款條件
g.DrawString(PayDay.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 301, 166);
g.DrawString(TotalOff.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 10, 710);//折扣
g.DrawString(NoTaxD.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 200, 710);//未稅總額
g.DrawString(Tax.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 420, 710);//應稅額
g.DrawString(HaveTaxD.Text, new Font("微軟正黑體", 12, FontStyle.Regular), Brushes.Black, 600, 710);//含稅總額