←选择平台

RasterImagePrinter类

总结

支持打印RasterImage

语法
c#
VB
c++
公共RasterImagePrinter
公共RasterImagePrinter
公共ref类RasterImagePrinter
讲话

RasterImagePrinter提供属性和方法,以使打印过程RasterImage更容易。

使用.NET框架进行打印涉及到向System.Drawing.Printing.PrintDocument.PrintPage事件。类的新实例RasterImagePrinter类,按需要设置其属性,然后调用打印方法将RasterImage要打印,打印的页码和System.Drawing.Printing.PrintPageEventArgs通过您的System.Drawing.Printing.PrintPageEventHandler

注意:RasterViewerCenterMode类型在版本15中被重命名。使用RasterPaintAlignMode枚举。

例子
c#
VB
使用Leadtools;使用Leadtools.Controls;使用Leadtools.Codecs;//打印的图像私人RasterImage myImage =//当前打印的页码私人intcurrentPrintPageNumber;公共无效RasterImagePrinterExample ()//检查这台机器上是否安装了打印机如果(PrinterSettings。InstalledPrinters = =|| printersettings . installedprinter . count < 1)对话框。显示("这台机器上没有安装打印机");返回//加载图像使用(RasterCodecs codecs =RasterCodecs ()).myImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,“Ocr1.tif”));//创建打印文档对象使用(PrintDocument文档=PrintDocument ())//设置文档页面document.PrinterSettings.MinimumPage = 1;document.PrinterSettings.MaximumPage =.myImage.PageCount;document. printersettings . fropage = 1;document.PrinterSettings.ToPage =.myImage.PageCount;dialgresult result = dialgresult . ok;//选择打印机使用(PrintDialog printDlg =PrintDialog ())printDlg。文档=文档;printDlg。AllowSomePages =真正的result = printDlg.ShowDialog();//设置页面如果(result == dialgresult . ok)使用(PageSetupDialog pageSetupDlg =PageSetupDialog ())pageSetupDlg。文档=文档;pageSetupDlg.ShowDialog ();如果(result == dialgresult . ok)//为开始/打印和结束打印事件添加处理程序文档。BeginPrint + =PrintEventHandler (document_BeginPrint);文档。打印Page +=PrintPageEventHandler (document_PrintPage);文档。结束打印+=PrintEventHandler (document_EndPrint);//使用.NET打印预览对话框使用(PrintPreviewDialog printPreviewDlg =PrintPreviewDialog ())printPreviewDlg。文档=文档;printPreviewDlg。WindowState = FormWindowState.Maximized;result = printpreviewdg . showdialog ();//清理.myImage.Dispose ();私人无效document_BeginPrint (对象发送者,PrintEventArgs e)//重置当前页码//由于我们正在使用打印预览对话框,这个事件将被调用两次(一次)//生成打印预览和一次实际打印)。所以,我们必须后退一步//到第一个打印页PrintDocument文档=发送者作为PrintDocument;.currentPrintPageNumber = document. printersettings . fropage;私人无效document_EndPrint (对象发送者,PrintEventArgs e)//这里没什么可做的私人无效document_PrintPage (对象发送者,PrintPageEventArgs//获取打印文档对象PrintDocument文档=发送者作为PrintDocument;//创建一个新的LEADTOOLS图像打印机类RasterImagePrinter打印机=RasterImagePrinter ();//设置文档对象,以便执行页面计算打印机。打印文档=文档;//我们想要将图像调整到最大打印区域打印机。SizeMode = RasterPaintSizeMode.FitAlways;打印机。HorizontalAlignMode = RasterPaintAlignMode.Center;打印机。VerticalAlignMode = RasterPaintAlignMode.Center;//传真图像的水平分辨率和垂直分辨率不同打印机。UseDpi =真正的//打印整个图像打印机。ImageRectangle = Rectangle.Empty;//使用最大页面尺寸忽略页边距,这将相当于打印//使用Windows照片库打印机。PageRectangle = RectangleF.Empty;打印机。UseMargins =//打印当前页面打印机。打印(.myImage,.currentPrintPageNumber e);//进入下一页.currentPrintPageNumber + +;//通知打印机我们是否有更多的页面要打印如果.currentPrintPageNumber <= document.PrinterSettings.ToPage)e.HasMorePages =真正的其他的e.HasMorePages =//从RasterImagePrinter解耦我们的PrintDocument打印机。打印文档=静态LEAD_VARS公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”
进口Leadtools进口Leadtools。控制进口Leadtools。编解码器进口Leadtools。画“我们正在打印的图像私人模板作为RasterImage =没有什么当前正在打印的页码私人currentPrintPageNumber作为整数公共RasterImagePrinterExample ()检查这台机器上是否安装了打印机如果PrinterSettings。InstalledPrinters没有什么OrElsePrinterSettings.InstalledPrinters。< 1然后对话框。显示("这台机器上没有安装打印机"返回结束如果载入图像使用编解码器作为RasterCodecs =RasterCodecs ().myImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,“Ocr1.tif”))结束使用'创建打印文档对象使用文档作为PrintDocument =PrintDocument ()’设置文档页面document.PrinterSettings.MinimumPage = 1document.PrinterSettings.MaximumPage =.myImage.PageCountdocument. printersettings . fropage = 1document.PrinterSettings.ToPage =.myImage.PageCount昏暗的结果作为dialogue gresult = system . windows . forms . dialogue gresult . ok选择打印机使用printDlg作为PrintDialog =PrintDialog ()printDlg。文档=文档printDlg。AllowSomePages =真正的result = printDlg.ShowDialog()结束使用'设置页面如果result = system . windows . forms . dialgresult . ok然后使用pageSetupDlg作为PageSetupDialog =PageSetupDialog ()pageSetupDlg。文档=文档pageSetupDlg.ShowDialog ()结束使用结束如果如果result = system . windows . forms . dialgresult . ok然后为开始/打印和结束打印事件添加处理程序AddHandler文档。BeginPrint,AddressOfdocument_BeginPrintAddHandler文档。打印Page,AddressOfdocument_PrintPageAddHandler文档。EndPrint,AddressOfdocument_EndPrint使用.NET打印预览对话框使用printPreviewDlg作为PrintPreviewDialog =PrintPreviewDialog ()printPreviewDlg。文档=文档printPreviewDlg。WindowState = FormWindowState。最大化result = printPreviewDlg.ShowDialog()结束使用结束如果结束使用“打扫干净”.myImage.Dispose ()结束私人document_BeginPrint (按值传递发送方作为对象按值传递e作为PrintEventArgs)'重置当前页码'由于我们正在使用打印预览对话框,这个事件将被调用两次(一次'生成打印预览,一次用于实际打印)。所以,我们必须后退一步到打印的第一页昏暗的文档作为PrintDocument = TryCast(sender, PrintDocument).currentPrintPageNumber = document. printersettings . fropage结束私人document_EndPrint (按值传递发送方作为对象按值传递e作为PrintEventArgs)“这儿没什么事可做结束私人document_PrintPage (按值传递发送方作为对象按值传递e作为PrintPageEventArgs)获取打印文档对象昏暗的文档作为PrintDocument = TryCast(sender, PrintDocument)创建一个新的LEADTOOLS图像打印机类昏暗的打印机作为RasterImagePrinter =RasterImagePrinter ()’设置document对象,这样就可以执行页面计算打印机。打印文档=文档“我们想要将图像调整到最大打印区域打印机。SizeMode = RasterPaintSizeMode。FitAlways打印机。HorizontalAlignMode = RasterPaintAlignMode。中心打印机。VerticalAlignMode = RasterPaintAlignMode。中心考虑到FAX图像可能具有不同的水平和垂直分辨率打印机。UseDpi =真正的打印整个图像打印机。ImageRectangle =矩形。空'使用最大页面尺寸忽略页边距,这相当于打印使用Windows照片库打印机。PageRectangle = RectangleF。空打印机。UseMargins =打印当前页面打印机。打印(.myImage,.currentPrintPageNumber, e)转到下一页.currentPrintPageNumber += 1“通知打印机,我们是否还有更多的页面要打印如果.currentPrintPageNumber <= document.PrinterSettings.ToPage . txt然后e.HasMorePages =真正的其他的e.HasMorePages =结束如果'解耦我们的PrintDocument从RasterImagePrinter打印机。打印文档=没有什么结束公共NotInheritableLEAD_VARS公共常量ImagesDir作为字符串“C: \ LEADTOOLS21 \ Resources \图片”结束
需求
目标平台
Leadtools。控制作为sembly
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。