本教程演示如何将任何LEADTOOLS支持的文件加载为LEADDocument然后使用LEADTOOLS SDK将该文件打印到c# windows控制台应用程序中已安装的打印机中。
| 概述 | |
|---|---|
| 总结 | 本教程介绍如何打印LEADDocument到c# Windows控制台应用程序中已安装的打印机。 |
| 完成时间 | 20分钟 |
| Visual Studio项目 | 下载教程项目(3kb) |
| 平台 | c# Windows控制台应用程序 |
| IDE | Visual Studio 2017, 2019 |
| 开发许可 | 下载LEADTOOLS |
步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前打印LEADDocument到已安装的打印机-控制台c#教程。
中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Document.Sdk如果使用本地DLL引用,则需要以下DLL。
dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:
Leadtools.dllLeadtools.Codecs.dllLeadtools.Document.dllLeadtools.Document.Pdf.dllLeadtools.Document.Raster.dllLeadtools.Drawing.dllLeadtools.Pdf.dll有关应用程序需要哪些DLL文件的完整列表,请参阅在你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。
随着项目的创建、引用的添加和许可的设置,编码就可以开始了。
在解决方案资源管理器,打开Program.cs.将以下语句添加到顶部的using块中Program.cs:
使用系统;使用System.Drawing.Printing;使用先;使用Leadtools;使用Leadtools.Document;使用Leadtools.Drawing;
在Main ()方法的下面添加以下代码SetLicense ()方法调用,以将文件加载为LEADDocument对象。
静态无效主要(字符串[]参数){SetLicense ();使用(LEADDocument _document = DocumentFactory.)LoadFromFile (@"在这里放置文件路径",新LoadDocumentOptions ()))PrintDocument (_document);}
控件中添加一个新方法程序类命名PrintDocument (LEADDocument _document).方法中调用此新方法Main ()方法,如上所示。将代码添加到PrintDocument ()方法来创建System.Drawing.Printing.PrintDocument从我们的LEADDocument然后开始打印。
静态无效PrintDocument (LEADDocument _document){使用(PrintDocument =新PrintDocument ()){printDocument.PrinterSettings.MinimumPage = 1;printDocument.PrinterSettings.MaximumPage = _document.Pages.Count;printdocument . printersettings . fropage = 1;printDocument.PrinterSettings.ToPage = _document.Pages.Count;printDocument.PrinterSettings.PrinterName =输入打印机名称;printDocument。DefaultPageSettings =新PageSettings ();varpageNumber = printdocument . printersettings . fropage;printDocument。打印页面+= (对象sender, PrintPageEventArgs e) => PrintPageHandler(e, _document, printDocument,裁判pageNumber);printDocument.Print ();}}
请注意
本教程将允许您将加载的LEADDocument打印到任何已安装的物理或虚拟打印机上。只需确保为PrinterName属性插入打印机名称字符串,如上所示。您可以使用虚拟打印机驱动程序演示安装虚拟打印机,位于这里:
< INSTALL_DIR > \虚拟打印机\ \ LEADTOOLS22 \快捷方式。NET框架类库\虚拟打印机.
添加一个新的PrintPage事件处理程序程序类,命名PrintPageHandler(PrintPageEventArgs e, LEADDocument文档,PrintDocument, ref int pageNumber).事件处理程序将挂接在PrintDocument ()方法。添加下面的代码PrintPageHandler ()创建要打印的输出文档。
私人静态无效PrintPageEventArgs e, LEADDocument文档,PrintDocument裁判intpageNumber){PrintPage(文档,pageNumber, e);pageNumber + +;. hasmorepages = (pageNumber <= printDocument.PrinterSettings.ToPage);如果(e.HasMorePages !)pageNumber = 1;}
控件中添加一个新方法程序类命名PrintPage(LEADDocument文档,int pageNumber, PrintPageEventArgs e).方法中调用此方法PrintPageHandler事件处理程序,如上所示。将下面的代码添加到PrintPage ()来创建输出并打印它。
静态无效PrintPage (LEADDocument文档,intpageNumber, PrintPageEventArgs e){varPage =文档。Pages[pageNumber - 1];//以像素为单位获取页面大小varpixelSize = page.SizeToPixels(page.Size);//转换为DPIvarsize = leadsize . create (pixelSize. create)宽度* 96.0 /页。分辨率,pixelSize。Height * 96.0 / page.Resolution).ToLeadSize();//填充边界vardestRect = LeadRect.Create(e.MarginBounds. create)X, e.MarginBounds。Y, e.MarginBounds。宽度,e.MarginBounds.Height);destRect = RasterImage.CalculatePaintModeRectangle(大小。宽度、大小。高度,destRect, RasterPaintSizeMode。健康,RasterPaintAlignMode。中心,RasterPaintAlignMode.Center);//获取页面图像使用(varrasterImage = page.GetImage())使用(var位图= RasterImageConverter。转换ToImage(rasterImage, ConvertToImageOptions.None))e.Graphics。destRect DrawImage(位图。X, destRect。Y, destRect。宽度,destRect.Height);}
按下运行项目F5,或选择Debug ->开始调试.
如果正确地执行了这些步骤,则应用程序将运行,加载LEADDocument,并将文件打印到指定的打印机PrinterName财产。
方法的使用LEADDocument而且PrintDocument类将任何LEADTOOLS支持的文件格式打印到机器上已安装的打印机上。它还涵盖了如何使用PrintPageEventArgs而且DocumentPage类。