使用XtraPrinting庫導出各種格式的控件(PDF, HTML, BMP等)
Printing Library允許您將 DevExpress .NET控件導出為各種文檔格式(PDF、HTML、 MHT、 TXT、 CSV、 XLS、 RTF)和圖像格式(BMP、JPEG、GIF、 TIFF、PNG、EMF),本主題演示如何使用“ Print Preview”窗口并通過代碼將控件導出為PDF格式。
提示: XtraPrinting Library不能將某些控件導出為特定的格式,但是所有控件都可以導出為PDF或圖像格式。
使用打印預覽窗口導出
可以使用Print Preview窗口將可打印控件導出為可用格式。
使用控件的ShowPrintPreview方法來顯示這個窗口,下圖展示了網格控件的打印預覽窗口。
Print Preview表單頂部的工具欄顯示 Export Document…按鈕,單擊此按鈕可顯示一個下拉菜單,允許您選擇所需的導出文件格式。
要將頁頭或報表頭添加到報表中,請使用 printable link (PrintableComponentLink)生成報表。
代碼導出
下面的代碼演示了如何在沒有Print Preview窗口的情況下使用xtrapprinting Library方法將控件導出為PDF文件,控件(XtraGrid)通過PrintingSystemBaseExportToPdf方法導出為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()