最近用到了winform去列印,網上查了一些資料,大概內容:
一 、首先有幾個類 pagesetupdialog 、 printdialog 、printdocument 、printpreviewcontrols,\printpreviewdialog。這幾個類的功能做簡要介紹
pagesetupdialog 這個是列印設定對話方塊。
printdialog 、列印對話方塊。按確定能觸發 printdocument1_printpage事件,或者通過 printdocument1.print()觸發 printdocument1_printpage事件。
printdocument 、列印的具體內容在這個裡面設定是列印資料的物件哦。需要在這個的printpage事件下面寫繪圖的的形狀什麼的用gdi做。
printpreviewdialog:列印預覽對話方塊。
printpreviewcontrols\\這個是列印的乙個預覽控制項我這裡沒有用到,應該是可以實時顯示用的。
二、具體的操作步驟
1、新建winform專案及建立窗體
2、拖取 列印 相關控制項
pagesetupdialog 、 printdialog 、 printdocument 、printpreviewdialog
3、設定上述控制項的document屬性為相應的printdocument
4、設定按鈕等控制項 及 新增相應按鈕事件
5、示意**如下
三、列印**如下
public partial class form3 : form
//列印設定
private void btnsetprint_click(object sender, eventargs e)
//列印預覽
private void btnpreprint_click(object sender, eventargs e)
//列印
private void btnprint_click(object sender, eventargs e)
}//列印內容的設定
private void printdocument1_printpage(object sender, system.drawing.printing.printpageeventargs e)
}四、列印中遇到的問題
1、紙張大小一般是多大的,列印的時候列印內容和紙張怎麼適應?怎麼計算列印的頁數,怎麼計算需要列印多少頁。
a4紙張為210*297
2、邊距怎麼設定。
答:邊距設定,
a.net對於頁邊距是絕對的「大國沙文主義」,只認美制的「英吋」不認別的制式,其預設單位是「0.01英吋」。
而我們的os就比較入鄉隨俗,知道用「公釐」。所以在pagesetupdialog窗體上中顯示的單位是「公釐」(取決於os)。
由於兩邊制式不一樣,搭不上話,.net就會強制的把os的制式單位給轉換成它「習慣」的「英吋」。 也就是說:
在你點選「頁面設定」對話方塊的「確定」按鈕後,.net會自動進行「公釐->英吋」的隱式轉換。
b再度開啟pagesetupdialog對話方塊時,pagesetupdialog物件卻並沒有進行與上面的隱式轉換對應的「英吋->公釐」逆向轉換,
而僅僅是簡單粗暴地將單位名改了,從「display」(0.01英吋)改成了「tenthsofamillimeter」(0.1公釐),數值卻動都沒動一下。
也就是說不管你給pagesetupdialog什麼值,它都認為是以0.1公釐為單位的數。
在printdoc.defaultpagesettings.margins = new system.drawing.printing.margins(100, 100, 50, 50); 中給出了列印邊距設定為預設值是轉化為0.1倍的mm值,然後如果從
3、怎麼列印多頁內容。
if (nprintedheight < nwinheight)
else
4、怎麼用**在頁面的固定位置貼上預定義好的。當和文字重合的時候怎麼把文字顯示到的上面。
6、想要列印**的時候怎麼弄?
初探雲技術
最近幾年 雲計算 很火,今天去圖書館的時候偶然看到了一本國人寫的 雲計算 深刻改變未來 借來稍微看了一下,越 看越帶勁一口氣看了幾十頁,雲計算 在我看來就是所有的計算 儲存操作都在伺服器端實現,伺服器將處理結果返回給用 戶。google和ibm聯手對抗微軟,這下可有好戲看了。恰好書的背面有乙個聯想提...
初探「技術債務」
最近舉行了乙個技術債務研討會,以改進我們對 技術債務 technical debt 的理解及其解決之道,該研討會迸發出一些有趣的觀點。其中乙個觀點引起了包括michael feathers和brian marick在內的很多人的注意,那就是我們應該將對問題的理解集中在 資產 而不是 債務 上。會議組...
WebBrowser實現Web列印初探
二 webbrowder控制項的方法 列印 webbrowser1.execwb 6,1 列印設定 webbrowser1.execwb 8,1 列印預覽 webbrowser1.execwb 7,1 三 實現列印的設定,列印資料的生成,列印的預覽,和列印。實現列印的設定,列印資料的生成,列印的預覽...