支持打印RasterImage.
公共类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枚举。
使用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打印机。打印文档=没有什么结束子公共NotInheritable类LEAD_VARS公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”结束类
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
