首先我們定義一個PrintDocument對象,並實現PrintPage方法:
在一個按鈕的單擊事件裡面實現預覽列印:
執行預覽列印後我們會看到列印出來的效果:
自訂預覽列印
如果是自訂預覽列印就需要設定好指定的列印控制器PrintController的屬性。
PrintController 由 PrintDocument 使用,而這種使用通常不是直接的。
.NET Framework 包括從 PrintController 派生的三個列印控制器,可協助完成常見的任務。
1.
StandardPrintController 將文檔列印到印表機。
2.
PreviewPrintController 產生文檔列印時的外觀預覽並由 PrintPreviewControl 和 PrintPreviewDialog 類使用。
3.
PrintControllerWithStatusDialog 在列印過程中提供一個列印狀態對話方塊。
代碼如下 |
複製代碼 |
自己手動的實現一個預覽列印的功能是由
PreviewPrintController 來實現的
|
首先定義了一個
PreviewPrintController 對象,並賦值給PrintDocument。然後執行列印。
利用GetPreviewPageInfo()得到一個PreviewPageInfo數組;列印資訊包括在了這個數組裡,以每張圖片和資訊一頁儲存在了數組中。
數組中的Image和PhysicalSize對象提供的列印相關的資訊 :一張圖片和列印頁的大小。在列印出來的圖片的大小和列印頁的大小是不相同的,圖片的大小要高於列印頁的大小。所以要轉換大小。然後顯示到介面,如果列印多頁只需要對PreviewPageInfo數組進行切換就行了。
當我們需要顯示列印狀態對話方塊的時候可以用
PrintControllerWithStatusDialog 封裝一個
PreviewPrintController 來顯示列印對話方塊
printDocument.PrintController = new PrintControllerWithStatusDialog(previewController);