在C 中實現列印功能

2021-04-30 01:13:20 字數 1054 閱讀 6125

在.net中可以很方便的實現列印功能。

通常可以建立 printdocument 類的例項,設定描述列印方式的屬性,然後呼叫 print 方法開始列印程序。通過使用 printpageeventargs 中包含的 graphics 來處理用於指定列印輸出的 printpage 事件。

具體**:

public partial class printingexample : form

private font printfont;

private streamreader streamtoprint;

private void btnprint_click(object sender, eventargs e)

finally

}catch(exception ex)

}private void pd_printpage(object sender, printpageeventargs ev)

if(line != null)

ev.hasmorepages = true;

else

ev.hasmorepages = false;

}之後除錯時streamreader讀取中文文字出現亂碼,原來是沒有搞明白.net處理檔案預設的編碼方式。

從windows 2000之後的作業系統在檔案處理時預設編碼採用unicode,所以.net 的檔案預設編碼也是unicode。除非另外指定,streamreader 的預設編碼為 unicode,而不是當前系統的 ansi **頁。但是文件大部分還是以ansi編碼儲存,中文文字使用的是gb2312,所以才造成中文亂碼的狀況,也就是說在讀取文字的時候要指定編碼格式。

但是問題來了,system.text.encoding 裡面一堆編碼格式ascii、utf-8等等,要選哪乙個好?

其實很簡單,用 system.text.encoding.default 告訴 streamreader 目前作業系統的編碼即可。

streamreader reader = new streamreader(filename, system.text.encoding.default)

C 實現列印功能

實際開發過程中經常會遇到列印某種報表的情況,用c 實現列印報表的功能。第一,如果報表的大小合適,或者紙張的大小足夠放得下報表,則可以選擇直接截圖,列印截圖所得的 第二,如果報表和紙張的大小不匹配,則可能需要在程式中根據一定格式拼出合適大小的報表。private void button3 click ...

在C 中實現DateDiff功能

且看它在vb.net中的定義 返回 variant long 的值,表示兩個指定日期間的時間間隔數目。datediff interval,date1,date2 firstdayofweek firstweekofyear datediff 函式語法中有下列命名引數 部分 描述 interval 必...

C 列印匯出功能實現

由於做的專案用到列印和匯出功能,我根據在圖書館裡看到的,結合實踐,自己編寫 實現了這方面的功能,其中有不足之處,不吝賜教.class printex r 0 c 20 for int i 0 i dgv.rowcount 1 i else return true 列印label中資料 public ...