打印小结
以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