WinForm应用界面开发 - 如何使用第三方库以各种格式导出控件 DevExpress.NETWinForm
打印库允许您将DevExpress .NET控件导出为各种文档格式(PDF、HTML、MHT、TXT、CSV、XLS、RTF)和图像格式(BMP、JPEG、GIF、TIFF、PNG、EMF),本文演示如何使用Print Preview窗口和代码将控件导出为PDF格式。
获取工具下载 - DevExpress WinForm v21.1
提示:请注意,XtraPrinting 库无法将某些控件导出为特定格式,但是所有控件都可以导出为 PDF 或图像格式。
使用Print Preview窗口导出
您可以使用Print Preview窗口将可打印控件导出为可用格式。
使用控件的 ShowPrintPreview 方法显示此窗口,下图说明了网格控件的打印预览窗口。
Print Preview表单顶部的工具栏显示Export Document… 按钮,单击此按钮可显示一个下拉菜单,您可以从中选择所需的导出文件格式。
要将页面或报表标题添加到报表中,请使用可打印链接(PrintableComponentLink)生成报表。
代码导出
以下代码演示了如何使用 XtraPrinting 库方法在代码中将控件导出到 PDF 文件,而无需打印预览窗口。 控件 (XtraGrid) 通过 PrintingSystemBase.ExportToPdf方法导出为 PDF。
C#
using DevExpress.XtraPrinting; // Create a PrintingSystem component. DevExpress.XtraPrinting.PrintingSystem ps = new DevExpress.XtraPrinting.PrintingSystem(); // Create a link that will print a control. DevExpress.XtraPrinting.PrintableComponentLink link = new PrintableComponentLink(ps); // Specify the control to be printed. link.Component = gridControl1; // Generate a report. link.CreateDocument(); // Export the report to a PDF file. string filePath = @"c:\gridcontrol.pdf"; link.PrintingSystem.ExportToPdf(filePath); System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = filePath; process.Start();
VB.NET
Imports DevExpress.XtraPrinting ' Create a PrintingSystem component. Dim ps As New DevExpress.XtraPrinting.PrintingSystem() ' Create a link that will print a control. Dim link As New DevExpress.XtraPrinting.PrintableComponentLink(ps) ' Specify the control to be printed. link.Component = gridControl1 ' Generate a report. link.CreateDocument() ' Export a report to a PDF file. Dim filePath As String = "c:\gridcontrol.pdf" link.PrintingSystem.ExportToPdf(filePath) Dim process As New System.Diagnostics.Process() process.StartInfo.FileName = filePath process.Start()
DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
更多产品正版授权详情及优惠,欢迎咨询在线客服>>
DevExpress技术交流群4:715863792 欢迎一起进群讨论