asp.net winFrom 自訂預覽列印方法

來源:互聯網
上載者:User
首先我們定義一個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);
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.