Back to Devexpress

How to: Customize How a Document Is Exported from the Print Preview

windowsforms-2419-controls-and-libraries-printing-exporting-examples-print-preview-how-to-customize-how-a-document-is-exported-from-the-print-preview.md

latest6.1 KB
Original Source

How to: Customize How a Document Is Exported from the Print Preview

  • Nov 05, 2022
  • 3 minutes to read

This example uses the XtraReport.ExportOptions property to specify basic report export options. These options apply when the user exports a document from the print preview.

This example specifies export options in code, and does not prompt the user for export options.

The ExportOptionKind enumeration lists all available export parameters.

View Example

View Example

csharp
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
using System;
using System.Drawing.Imaging;
using System.Globalization;
using System.Text;
// ...
var report = new XtraReport1();

report.CreateDocument();

// Obtain the current export options.
ExportOptions options = report.PrintingSystem.ExportOptions;

// Set Print Preview options.
options.PrintPreview.ActionAfterExport = ActionAfterExport.AskUser;
options.PrintPreview.DefaultDirectory = "C:\\Temp";
options.PrintPreview.DefaultFileName = "Report";
options.PrintPreview.SaveMode = SaveMode.UsingDefaultPath;
options.PrintPreview.ShowOptionsBeforeExport = false;

// Set E-mail options.
options.Email.RecipientAddress = "[email protected]";
options.Email.RecipientName = "Someone";
options.Email.Subject = "Test";
options.Email.Body = "Test";

// Set CSV-specific export options.
options.Csv.Encoding = Encoding.Unicode;
options.Csv.Separator =
    CultureInfo.CurrentCulture.TextInfo.ListSeparator.ToString();

// Set HTML-specific export options.
options.Html.CharacterSet = "UTF-8";
options.Html.RemoveSecondarySymbols = false;
options.Html.Title = "Test Title";

// Set Image-specific export options.
options.Image.Format = ImageFormat.Jpeg;

// Set MHT-specific export options.
options.Mht.CharacterSet = "UTF-8";
options.Mht.RemoveSecondarySymbols = false;
options.Mht.Title = "Test Title";

// Set PDF-specific export options.
options.Pdf.Compressed = true;
options.Pdf.ImageQuality = PdfJpegImageQuality.Low;
options.Pdf.NeverEmbeddedFonts = "Tahoma;Courier New";
options.Pdf.DocumentOptions.Application = "Test Application";
options.Pdf.DocumentOptions.Author = "Test Team";
options.Pdf.DocumentOptions.Keywords = "Test1, Test2";
options.Pdf.DocumentOptions.Subject = "Test Subject";
options.Pdf.DocumentOptions.Title = "Test Title";

// Set Text-specific export options.
options.Text.Encoding = Encoding.Unicode;
options.Text.Separator =
    CultureInfo.CurrentCulture.TextInfo.ListSeparator.ToString();

// Set XLS-specific export options.
options.Xls.ShowGridLines = true;
options.Xls.SheetName = "Page 1";
options.Xls.TextExportMode = TextExportMode.Value;

// Set XLSX-specific export options.
options.Xlsx.ShowGridLines = true;
options.Xlsx.SheetName = "Page 1";
options.Xlsx.TextExportMode = TextExportMode.Value;

report.ShowPreviewDialog();
vb
Imports DevExpress.XtraPrinting
Imports DevExpress.XtraReports.UI
Imports System
Imports System.Drawing.Imaging
Imports System.Globalization
Imports System.Text
' ...
Dim report = New XtraReport1()

report.CreateDocument()

' Obtain the current export options.
Dim options As ExportOptions = report.PrintingSystem.ExportOptions

' Set Print Preview options.
options.PrintPreview.ActionAfterExport = ActionAfterExport.AskUser
options.PrintPreview.DefaultDirectory = "C:\Temp"
options.PrintPreview.DefaultFileName = "Report"
options.PrintPreview.SaveMode = SaveMode.UsingDefaultPath
options.PrintPreview.ShowOptionsBeforeExport = False

' Set E-mail options.
options.Email.RecipientAddress = "[email protected]"
options.Email.RecipientName = "Someone"
options.Email.Subject = "Test"
options.Email.Body = "Test"

' Set CSV-specific export options.
options.Csv.Encoding = Encoding.Unicode
options.Csv.Separator = CultureInfo.CurrentCulture.TextInfo.ListSeparator.ToString()

' Set HTML-specific export options.
options.Html.CharacterSet = "UTF-8"
options.Html.RemoveSecondarySymbols = False
options.Html.Title = "Test Title"

' Set Image-specific export options.
options.Image.Format = ImageFormat.Jpeg

' Set MHT-specific export options.
options.Mht.CharacterSet = "UTF-8"
options.Mht.RemoveSecondarySymbols = False
options.Mht.Title = "Test Title"

' Set PDF-specific export options.
options.Pdf.Compressed = True
options.Pdf.ImageQuality = PdfJpegImageQuality.Low
options.Pdf.NeverEmbeddedFonts = "Tahoma;Courier New"
options.Pdf.DocumentOptions.Application = "Test Application"
options.Pdf.DocumentOptions.Author = "Test Team"
options.Pdf.DocumentOptions.Keywords = "Test1, Test2"
options.Pdf.DocumentOptions.Subject = "Test Subject"
options.Pdf.DocumentOptions.Title = "Test Title"

' Set Text-specific export options.
options.Text.Encoding = Encoding.Unicode
options.Text.Separator = CultureInfo.CurrentCulture.TextInfo.ListSeparator.ToString()

' Set XLS-specific export options.
options.Xls.ShowGridLines = True
options.Xls.SheetName = "Page 1"
options.Xls.TextExportMode = TextExportMode.Value

' Set XLSX-specific export options.
options.Xlsx.ShowGridLines = True
options.Xlsx.SheetName = "Page 1"
options.Xlsx.TextExportMode = TextExportMode.Value

report.ShowPreviewDialog()

Tip

A complete sample project is available in the DevExpress Code Examples database at https://supportcenter.devexpress.com/ticket/details/e172/reporting-for-winforms-export-options-and-after-export-actions.

See Also

How to: Hide some of the Export Options in the Print Preview