關於C 列印技術

2021-05-24 14:09:44 字數 3671 閱讀 1686

關鍵字:c# .net  c#列印  列印技術

內容摘要:從原理上解釋一下採用c#列印的應用,這裡以最常用的c/s模式作為範例,首先,獲取要列印的資料,根據固定的模版進行資料排版。然後,簡單設定列印屬性以及預覽資料。最後,進行列印。

首先,從原理上解釋一下關於使用c#開發列印的應用。這裡以最常用的c/s模式作為範例。

.netframework為列印提供了system.drawing;、system.drawing.printing;和system.windows.froms;命名空間,在這個命名空間裡面有以下幾個常用的重要類分別是:

a)       printdocment類主要用來繪製列印頁面並將列印頁面傳送到印表機;

1)       常用屬性:

l        defaultpagesettings: 獲取或設定頁設定,這些頁設定用作要列印的所有頁的預設設定。

l        documentname: 獲取或設定列印文件時要顯示的文件名。

l        printersettings: 獲取或設定對文件進行列印的印表機。

2)       常用方法:

l        print(): 開始文件的列印程序。

l        onprintpage(): 引發 printpage 事件。該事件在某頁列印之前被呼叫。

3)       常用事件

l        beginprint: 在呼叫 print 方法時並且在列印文件的第一頁之前發生。

l        endprint: 列印完文件的最後一頁時發生。

l        printpage: 當需要為當前頁列印的輸出時發生。

b)      pagesetupdialog類用於設定簡單的列印設定

1)      常用屬性

l        allowmargins: 獲取或設定乙個值,該值指示是否啟用對話方塊的邊距部分。

l        alloworientation: 獲取或設定乙個值,該值指示是否啟用對話方塊的方向部分(橫向對縱向)。

l        allow*****: 獲取或設定乙個值,該值指示是否啟用對話方塊的紙張部分(紙張大小和紙張**)。

l        allowprinter: 獲取或設定乙個值,該值指示是否啟用「印表機」按鈕。

l        document: 獲取或設定乙個值,指示從中獲取頁面設定的 printdocument。

l        pagesettings: 獲取或設定乙個值,該值指示要修改的頁設定。

l        printersettings: 獲取或設定使用者單擊對話方塊中「印表機」按鈕時修改的印表機設定。

l        showhelp: 獲取或設定乙個值,該值指示「幫助」按鈕是否可見。

l        shownetwork: 獲取或設定乙個值,該值指示「網路」按鈕是否可見。

2)      常用方法

l        reset(): 已重寫。 將所有選項重新設定為其預設值。

l        showdialog(): 已過載。 執行通用對話方塊。

c)        printpreviewdialog類用於列印預覽

1)       常用屬性

l        desktopbounds: 獲取或設定 windows 桌面上窗體的大小和位置。(從 form 繼承。)

l        desktoplocation: 獲取或設定 windows 桌面上窗體的位置。(從 form 繼承。)

l        dialogresult: 獲取或設定窗體的對話方塊結果。

l        document: 獲取或設定要預覽的文件。

l        enabled: 獲取或設定乙個值,該值指示是否已啟用該控制項。

l        height: 獲取或設定控制項的高度。

l        location: 獲取或設定該控制項的左上角相對於其容器的左上角的座標。

l        width: 獲取或設定控制項的寬度。(從 control 繼承。)

l        windowstate: 獲取或設定窗體的視窗狀態。

2)       常用方法

l        showdialog(): 已過載。將窗體顯示為模式對話方塊。

下面我們來看一下列印的基本步驟:

1)       宣告乙個printdocment:

命名空間:system.drawing.printing;

**:printdocment objprintdocment=new printdocment();

objprintdocment.printpage+=new printpageeventhandler

(print_printpage);

2)       呼叫列印屬性設定視窗

命名空間:system.windows.froms;

**://初始化要顯示的設定視窗

pagesetupdialog objpagesetupdialog = new pagesetupdialog();

//獲取文件

objpagesetupdialog.document = this._pdocument;

//顯示視窗s

objpagesetupdialog.showdialog();

3)       呼叫列印預覽視窗

//初始化要預覽視窗

printpreviewdialog objprintpreviewdialog = newprintpreviewdialog();

//獲取要預覽的文件

objprintpreviewdialog.document = objdocument;

//顯示預覽視窗

objprintpreviewdialog.showdialog();

4)       新增print_printpage(object sender, printpageeventargs e)的**

//這裡主要實現列印功能

利用graphics類的 drawline()方法畫線,drawstring()方法寫入文字;

//列印表裡的資料

g.drawstring(cellvalue, _contentfont, _contentforecolor, new pointf(linex, liney + _celltopmargin));

//標題下面的一條線

g.drawline(_linepen, new pointf(_leftmargin, linebeginy), new pointf(pagewidth - _rightmargin, linebeginy));

現面來看一下乙個具體的、簡單的事例:將使用者輸入的資料在介面上列印出來.

public partial class ftest : form

private void ftest _load(object sender, eventargs e)

void objdocument_printpage(object sender, printpageeventargs e)

private void button1_click(object sender, eventargs e)

}總結:通過上面的事例我們可以知道c#主要使用其自帶的類庫printdocment類的printpage事件來實現的列印的,我們可以通過來利用此事件函式來列印我們想要的結果.

關於C 列印技術

關鍵字 c net c 列印列印技術 內容摘要 從原理上解釋一下採用 c 列印的應用,這裡以最常用的 c s模式作為範例,首先,獲取要列印的資料,根據固定的模版進行資料排版。然後,簡單設定列印屬性以及預覽資料。最後,進行列印。首先,從原理上解釋一下關於使用 c 開發列印的應用。這裡以最常用的 c s...

關於C 列印技術

內容摘要 從原理上解釋一下採用c 列印的應用,這裡以最常用的c s模式作為範例,首先,獲取要列印的資料,根據固定的模版進行資料排版。然後,簡單設定列印屬性以及預覽資料。最後,進行列印。首先,從原理上解釋一下關於使用c 開發列印的應用。這裡以最常用的c s模式作為範例。netframework為列印提...

C 列印技術(一)

首先,從原理上解釋一下關於使用 c 開發列印的應用。這裡以最常用的 c s模式作為範例。netframework 為列印提供了 system.drawing system.drawing.printing 和system.windows.froms 命名空間,在這個命名空間裡面有以下幾個常用的重要類...