XtraPrinting 库 允许你以不同的格式 —— PDF、HTML (加上 MHT)、TXT (加上 CSV)、XLS、RTF,也可以作为图像(BMP、JPEG、GIF、TIFF、PNG、EMF) 导出 Developer Express .NET 控件。 本主题展示最终用户如何使用 打印预览 窗口以 PDF 格式导出某个控件, 也演示了如何通过代码导出控件。
注意 |
---|
注意,使用 XtraPrinting 库 不能以某些特定格式导出某些特定控件。 但是所有控件都可以导出为 PDF 和图像格式。 |
使用打印预览窗口进行导出
可以使用 XtraPrinting 库进行打印的控件,通过打印预览窗口都可以被快速地导出为可用格式中的一种。 打印预览窗口可以使用控件的 ShowPrintPreview 方法进行显示。 下面的插图展示了一个示例 XtraGrid 控件的打印预览窗口:
位于窗体顶部的工具栏中包含了 Export Document...(导出文档) 按钮。 单击它将显示一个允许你选择报告保存格式的下拉菜单。
在下拉菜单中单击所需的选项,就可以把控件导出为所需的格式。
如果你需要把一个报告或页标头添加到这个报告中,那么必须使用 printable link(打印链接) 来生成一个报告。 这种方法在 如何: 在打印/导出控件时设置纸张格式,并把定制信息添加到报告中 主题中进行了叙述。
通过代码导出
下列代码演示了如何使用 XtraPrinting 库,把一个控件导出为一个 PDF 文件,而无须激活 打印预览 窗口。 该控件(XtraGrid) 将使用 PrintingSystemBase.ExportToPdf 方法以 PDF 格式导出。 关于打印和导出控件的更多信息,请参阅 XtraPrinting 库的文档。
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 the report. link.CreateDocument(); // Export the report to a PDF file. string filePath = @"c:\gridcontrol.pdf"; link.PrintingSystem.ExportToPdf(filePath); // Use the code below if you want the created file to be automatically // opened in the appropriate application. System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = filePath; process.Start(); |
Visual Basic | 复制代码 |
---|---|
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 the report. link.CreateDocument() ' Export the report to a PDF file. Dim filePath As String = "c:\gridcontrol.pdf" link.PrintingSystem.ExportToPdf(filePath) ' Use the code below if you want the created file to be automatically ' opened in the appropriate application. Dim process As New System.Diagnostics.Process() process.StartInfo.FileName = filePath process.Start() |