打印小结

打印小结

以PrintDocument为中心
1。PrintDialog设置PrintDocument的PrinterSetting属性,
2。PageSetupDialog设置PrintDocument的DefaulePageSettings属性

3。如果你不想用PrintDialog,就自定义打印机设置PrinterSetting类,
                                    取得可用的打印机InstalledPrintes
                                (取得打印所使用的纸张大小)PaperSizeCollection(PaperSize对象的集合)
                               (取得打印机为当前打印任务加载的纸张的纸盒)PaperSourceCollection(PaperSource对象的集合)
                                  (取得打印机的分辨率)PrinterResolutionCollection(PrinterResolution对象的集合)
                                    设置相关属性,Printname,isDefaultPrinter,Copies,IsPlotter,IsValid,
CanDuplex,Supports Colores,Collate 等。

4。如果你不想用PageSetupDialog的话,就自定义PageSetting页面设置类,
                    PaperSize对象
                    PaperSource对象
                    PrinterResolution对象
                    Margins,Bounds,Landscape等

5.PrintPreviewDialog打印预览对话框,
       
  PrintPreviewControl表示打印预览的原始“预览”部分,没有任何对话框或按钮。
6.打印多页PrintDocument的事件 
        protected override void OnPrintPage(PrintPageEventArgs e)
                        {e.HasMorePages=true;}
7。打印指定页
     if(this.PrinterSettings.PrintRange==PrintRange.SomePages)
   {
    
    while(m_nCurrPage<this.PrinterSettings.FromPage)
    {
     m_nCurrRow+=m_nLinesPerPage;
     m_nCurrPage++;
     if(m_nCurrRow>m_nRows)
      return;
    }
    if(m_nCurrPage>this.PrinterSettings.ToPage)
    {
     return;
    }
   }

8。打印控制器
        用于控制PrintDocument对象处理方式的PrintController
        派生类PreviewPrintController
                    StandardPrintController
                    PrintControllerWithStatusDialog

原文地址:https://www.cnblogs.com/winner/p/763074.html