本教程演示如何将任何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.dll
Leadtools.Codecs.dll
Leadtools.Document.dll
Leadtools.Document.Pdf.dll
Leadtools.Document.Raster.dll
Leadtools.Drawing.dll
Leadtools.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);
//转换为DPI
varsize = 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
类。