列印功能

10
列列列列 列列列列

description

列印功能. Windows 程式設計基本概念. .NET Framework 2.0 中的列印控制項. 用來在 Windows 架構應用程式中設定列印的頁面詳細資料。. 用來選取印表機、選擇列印頁面以及決定其他與列印相關的設定。. PrintPreviewControl 是用來顯示在列印 PrintDocument 時會出現的外觀。. PrintDocument 實際負責列印功能,可用來設定列印內容及列印文件能力的屬性。它可以與 PrintDialog 元件一起用於控制與文件列印相關的所有事項。. - PowerPoint PPT Presentation

Transcript of 列印功能

Page 1: 列印功能

列印功能列印功能

Page 2: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念.NET Framework 2.0 中的列印控制項

用來在 Windows 架構應用程式中設定列印的頁面詳細資料。 用來選取印表機、選擇列印頁面以

及決定其他與列印相關的設定。

PrintDocument 實際負責列印功能,可用來設定列印內容及列印文件能力的屬性。它可以與 PrintDialog 元件一起用於控制與文件列印相關的所有事項。

PrintPreviewControl 是用來顯示在列印 PrintDocument 時會出現的外觀。

PrintPreviewDialog 控制項是預先設定的對話方塊,用來顯示文件列印後的樣子。

Page 3: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PageSetupDialog

基本功能:設定列印紙張格式。

使用時機:需要調整列印紙張的規格。

外觀:當 PageSetupDialog 被拖曳出來後,會出現在 component tray 。

PageSetupDialog 可用來調整列印時紙張邊界的設定、紙張直印或橫印…等功能。

Page 4: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PageSetupDialog

當我們使用 PrintDocument 這個控制項 (物件 )作為 PageSetupDialog初始化的參數時, PrintDocument 元件對於頁面的參數設定會隨著 PageSetupDialog 的設定而更動,所以我們無須另外撰寫程式碼設定更改後的數據:

0083 : ' 列印設定 ToolStripButton_Click0084 : Private Sub 列印設定 ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 列印設定 ToolStripButton.Click0085 : ' 給定要設定列印格式的文件0086 : Me.PageSetupDialog1.Document = Me.PrintDocument10087 : ' 開啟列印設定對話視窗0088 : Me.PageSetupDialog1.ShowDialog()0089 : End Sub 我們可以發現,在 Visual Basic 2005 中的列

印動作,是透過『 PrintDocument 』來進行,而我們則可以透過『 PageSetupDialog 』控制項,來設定『 PrintDocument 』的列印參數與狀態。

Page 5: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PrintDialog

基本功能:列印的對話視窗。

使用時機:在列印之前,設定列印幾份、列印範圍等。

外觀:當 PrintDialog 被拖曳出來後,會出現在 component tray 。

Page 6: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PrintDialog

PrintDialog 是列印對話視窗,與一般我們按下印表機後出現的對話視窗相同,可以調整列印範圍、選擇印表機…等。

使用 PrintDialog1.ShowDialog() 之前,我們一樣要先將 PrintDocument 指定給 PrintDialog ,作為 PrintDialog 的初始化版面設定:

0101 : ' 列印 ToolStripButton_Click

0102 : Private Sub 列印 ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 列印 ToolStripButton.Click

0103 : ' 設定 doc ,取得要列印的文字0104 : doc = Me.TextBox1.Text

0105 : ' 給定要列印的文件格式0106 : Me.PrintDialog1.Document = Me.PrintDocument1

0107 :0108 : ' 按下確定後開始列印0109 : If Me.PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

0110 : PrintDocument1.Print()0111 : End If

0112 : End Sub

『 PrintDialog1 』設定要列印文件為『 PrintDocument1 』

呼叫 PrintDocument1 的『 Print 方法』實際把文件列印出來。

Page 7: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PrintDocument

基本功能:描述列印版面設置的物件。

使用時機: PrintDocument 會動態的跟著 PageSetupDialog 的設定更改屬性值,也可以直接指定給 PrintPreviewControl 或 PrintDialog ,當作列印版面初始化的依據。您可以透過 PrintDocument 控制項來實際列印一份文件。

請注意,列印動作可透過『 PrintDocument1.Print() 』方法來完成,而要列印的內容,則是透過『 PrintDocument1_PrintPage 』事件當中的參數『 e 』來指定,並且以繪製的方式輸出到印表機上。

Page 8: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PrintDocument

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

' 設定字型 Dim myFont As New Font(" 新明細體 ", 30, FontStyle.Regular)

' 確保文字不會被腰斬,我們預計最後一行不印文字,所以減去 myFont.GetHeight(e.Graphics) Dim strSize As New Size(e.MarginBounds.Width, e.MarginBounds.Height - myFont.GetHeight(e.Graphics))

' 確保文字 ( 英文單字 ) 不會被分成兩行 Dim strFormat As New StringFormat

strFormat.Trimming = StringTrimming.Word

e.Graphics.DrawString("test123", myFont, Brushes.Black, e.MarginBounds, strFormat)

End Sub

請注意,列印動作可透過『 PrintDocument1.Print() 』方法來完成,而要列印的內容,則是透過『 PrintDocument1_PrintPage 』事件當中的參數『 e 』來指定,並且以繪製的方式輸出到印表機上。

Page 9: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PrintPreviewDialog

基本功能:預覽列印的對話視窗。

使用時機:提供使用者預覽的功能,查看文件列印後的狀況,排版適不適合。

外觀:當 PrintPreviewDialog 被拖曳出來後,會出現在 component tray 。

Page 10: 列印功能

WindowsWindows 程式設計基本概念程式設計基本概念PrintPreviewDialog

0091 : ' 預覽列印 ToolStripButton_Click0092 : Private Sub 預覽列印 ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 預覽列印 ToolStripButton.Click0093 : ' 設定 doc ,取得要列印的文字0094 : doc = Me.TextBox1.Text0095 : ' 給定要預覽的文件格式0096 : Me.PrintPreviewDialog1.Document = Me.PrintDocument10097 : ' 開啟預覽列印對話視窗0098 : Me.PrintPreviewDialog1.ShowDialog()0099 : End Sub