[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Collapse]Cross-Platform Core Libraries
 [Expand]DevExpress ORM Tool
 [Expand]DevExpress Data Library
 [Expand]DevExpress Pivot Grid Core Library
 [Expand]Miscellaneous
 [Collapse]API Reference
  [Expand]DevExpress.Data
  [Expand]DevExpress.Data.Browsing
  [Expand]DevExpress.Data.Browsing.Design
  [Expand]DevExpress.Data.Camera
  [Expand]DevExpress.Data.Controls
  [Expand]DevExpress.Data.Controls.ExpressionEditor
  [Expand]DevExpress.Data.Entity
  [Expand]DevExpress.Data.Filtering
  [Expand]DevExpress.Data.Filtering.Exceptions
  [Expand]DevExpress.Data.Filtering.Helpers
  [Expand]DevExpress.Data.Linq
  [Expand]DevExpress.Data.ODataLinq
  [Expand]DevExpress.Data.PivotGrid
  [Expand]DevExpress.Data.PLinq
  [Expand]DevExpress.Data.TreeList
  [Expand]DevExpress.Data.Utils
  [Expand]DevExpress.Data.Utils.ServiceModel
  [Expand]DevExpress.Data.WcfLinq
  [Expand]DevExpress.Data.WizardFramework
  [Expand]DevExpress.Data.XtraReports.DataProviders
  [Expand]DevExpress.Data.XtraReports.Labels
  [Expand]DevExpress.Data.XtraReports.ServiceModel
  [Expand]DevExpress.Data.XtraReports.ServiceModel.DataContracts
  [Expand]DevExpress.Data.XtraReports.Wizard
  [Expand]DevExpress.Data.XtraReports.Wizard.Presenters
  [Expand]DevExpress.Data.XtraReports.Wizard.Views
  [Expand]DevExpress.DataAccess
  [Expand]DevExpress.DataAccess.ConnectionParameters
  [Expand]DevExpress.DataAccess.EntityFramework
  [Expand]DevExpress.DataAccess.Excel
  [Expand]DevExpress.DataAccess.ExpressionEditor
  [Expand]DevExpress.DataAccess.Json
  [Expand]DevExpress.DataAccess.Localization
  [Expand]DevExpress.DataAccess.ObjectBinding
  [Expand]DevExpress.DataAccess.Sql
  [Expand]DevExpress.DataAccess.Sql.DataApi
  [Expand]DevExpress.DataAccess.UI
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DataAccess.Web
  [Expand]DevExpress.DataAccess.Wizard
  [Expand]DevExpress.DataAccess.Wizard.Model
  [Expand]DevExpress.DataAccess.Wizard.Presenters
  [Expand]DevExpress.DataAccess.Wizard.Services
  [Expand]DevExpress.DataAccess.Wizard.Views
  [Expand]DevExpress.Diagram.Core
  [Expand]DevExpress.Diagram.Core.Layout
  [Expand]DevExpress.Diagram.Core.Localization
  [Expand]DevExpress.Diagram.Core.Shapes
  [Expand]DevExpress.Diagram.Core.Themes
  [Expand]DevExpress.DocumentServices.ServiceModel
  [Expand]DevExpress.DocumentServices.ServiceModel.Client
  [Expand]DevExpress.DocumentServices.ServiceModel.DataContracts
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.Entity.Model
  [Expand]DevExpress.Entity.ProjectModel
  [Expand]DevExpress.Export
  [Expand]DevExpress.Export.Xl
  [Expand]DevExpress.Map
  [Expand]DevExpress.Mvvm
  [Expand]DevExpress.Mvvm.DataAnnotations
  [Expand]DevExpress.Mvvm.DataModel
  [Expand]DevExpress.Mvvm.ModuleInjection
  [Expand]DevExpress.Mvvm.UI
  [Expand]DevExpress.Mvvm.Utils
  [Expand]DevExpress.Mvvm.ViewModel
  [Expand]DevExpress.Office
  [Expand]DevExpress.Office.Crypto
  [Expand]DevExpress.Office.Drawing
  [Expand]DevExpress.Office.Export
  [Expand]DevExpress.Office.Export.Html
  [Expand]DevExpress.Office.Import
  [Expand]DevExpress.Office.Localization
  [Expand]DevExpress.Office.Options
  [Expand]DevExpress.Office.Services
  [Expand]DevExpress.Office.Utils
  [Expand]DevExpress.Pdf
  [Expand]DevExpress.Pdf.Localization
  [Expand]DevExpress.PivotGrid.Printing
  [Expand]DevExpress.Printing
  [Expand]DevExpress.Printing.Core
  [Expand]DevExpress.Printing.ExportHelpers
  [Expand]DevExpress.ReportServer.Printing
  [Expand]DevExpress.ReportServer.Printing.Services
  [Expand]DevExpress.ReportServer.ServiceModel.Client
  [Expand]DevExpress.ReportServer.ServiceModel.ConnectionProviders
  [Expand]DevExpress.ReportServer.ServiceModel.DataContracts
  [Expand]DevExpress.Schedule
  [Expand]DevExpress.Services
  [Expand]DevExpress.Sparkline
  [Expand]DevExpress.Spreadsheet
  [Expand]DevExpress.Spreadsheet.Charts
  [Expand]DevExpress.Spreadsheet.Drawings
  [Expand]DevExpress.Spreadsheet.Export
  [Expand]DevExpress.Spreadsheet.Formulas
  [Expand]DevExpress.Spreadsheet.Functions
  [Expand]DevExpress.TreeMap
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Commands
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Filtering.Internal
  [Expand]DevExpress.Utils.IoC
  [Expand]DevExpress.Utils.Localization
  [Expand]DevExpress.Utils.Serializing.Helpers
  [Expand]DevExpress.WebUtils
  [Expand]DevExpress.Xpf.Core
  [Expand]DevExpress.Xpf.Printing
  [Expand]DevExpress.Xpo
  [Expand]DevExpress.Xpo.DB
  [Expand]DevExpress.Xpo.DB.Exceptions
  [Expand]DevExpress.Xpo.DB.Helpers
  [Expand]DevExpress.Xpo.Exceptions
  [Expand]DevExpress.Xpo.Helpers
  [Expand]DevExpress.Xpo.Metadata
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Localization
  [Expand]DevExpress.XtraCharts.Native
  [Expand]DevExpress.XtraCharts.Printing
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraExport.Csv
  [Expand]DevExpress.XtraGauges.Base
  [Expand]DevExpress.XtraGauges.Core
  [Expand]DevExpress.XtraGauges.Core.Base
  [Expand]DevExpress.XtraGauges.Core.Drawing
  [Expand]DevExpress.XtraGauges.Core.Localization
  [Expand]DevExpress.XtraGauges.Core.Model
  [Expand]DevExpress.XtraGauges.Core.Primitive
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Customization
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPivotGrid.Localization
  [Expand]DevExpress.XtraPivotGrid.Selection
  [Collapse]DevExpress.XtraPrinting
   [Expand]Accessor Class
    ActionAfterExport Enumeration
   [Expand]BarCodeBrick Class
   [Expand]BookmarkInfo Class
   [Expand]BookmarkNode Class
   [Expand]BookmarkNodeCollection Class
    BorderDashStyle Enumeration
    BorderSide Enumeration
   [Expand]Brick Class
    BrickAlignment Enumeration
   [Expand]BrickBase Class
    BrickBorderStyle Enumeration
   [Expand]BrickCollectionBase Class
   [Expand]BrickEventArgsBase Class
    BrickEventHandlerBase Delegate
   [Expand]BrickGraphics Class
    BrickModifier Enumeration
    BrickOwnerType Enumeration
   [Expand]BrickPagePair Class
   [Expand]BrickStringFormat Class
    BrickStringFormatPrototypeKind Enumeration
   [Expand]BrickStyle Class
   [Expand]ChangeEventArgs Class
    ChangeEventHandler Delegate
    ChangingPermissions Enumeration
   [Expand]CharacterCombBrick Class
   [Expand]CheckBoxBrick Class
   [Expand]CheckEditingField Class
    ColumnLayout Enumeration
    CommandVisibility Enumeration
   [Expand]CompositeBrick Class
   [Expand]CorePrintableComponentLinkBase Class
   [Expand]CreateAreaEventArgs Class
    CreateAreaEventHandler Delegate
   [Expand]CsvExportOptions Class
   [Expand]CsvExportOptionsEx Class
   [Expand]Document Class
   [Expand]DocxDocumentOptions Class
    DocxExportMode Enumeration
   [Expand]DocxExportOptions Class
   [Expand]EditingField Class
   [Expand]EditingFieldCollection Class
   [Expand]EditingFieldEditorNames Class
   [Expand]EditingFieldEventArgs Class
   [Expand]EmailOptions Class
   [Expand]EmptyBrick Class
    EncodingType Enumeration
   [Expand]ExceptionEventArgs Class
    ExceptionEventHandler Delegate
    ExportFormat Enumeration
    ExportOptionKind Enumeration
   [Expand]ExportOptions Class
   [Expand]ExportOptionsBase Class
    ExportTarget Enumeration
   [Expand]FormattedTextExportOptions Class
   [Expand]GraphicsDpi Class
   [Expand]GraphicsUnitConverter Class
    HorizontalContentSplitting Enumeration
    HtmlExportMode Enumeration
   [Expand]HtmlExportOptions Class
   [Expand]HtmlExportOptionsBase Class
    HtmlLineDirection Enumeration
   [Expand]IBasePrintable Interface
   [Expand]IBrick Interface
   [Expand]IBrickGraphics Interface
   [Expand]IBrickOwner Interface
   [Expand]ICommandHandler Interface
   [Expand]IDocumentSource Interface
   [Expand]IGraphics Interface
   [Expand]ILink Interface
    ImageAlignment Enumeration
   [Expand]ImageBrick Class
   [Expand]ImageEditingField Class
    ImageExportMode Enumeration
   [Expand]ImageExportOptions Class
    ImageSizeMode Enumeration
   [Collapse]IPrintable Interface
     IPrintable Members
    [Expand]IPrintable Properties
    [Expand]IPrintable Methods
   [Expand]IPrintControl Interface
   [Expand]IPrintingSystem Interface
   [Expand]IPrintingSystemContext Interface
   [Expand]LabelBrick Class
   [Expand]LineBrick Class
   [Expand]LinkBase Class
   [Expand]LinkCollection Class
   [Expand]MailMessageExportOptions Class
   [Expand]MarginsChangeEventArgs Class
    MarginsChangeEventHandler Delegate
    MarginSide Enumeration
   [Expand]MhtExportOptions Class
   [Expand]NativeFormatOptions Class
   [Expand]PaddingInfo Structure
   [Expand]Page Class
   [Expand]PageArea Class
   [Expand]PageByPageExportOptionsBase Class
   [Expand]PageEventArgs Class
    PageEventHandler Delegate
   [Expand]PageFooterArea Class
   [Expand]PageHeaderArea Class
   [Expand]PageHeaderFooter Class
   [Expand]PageImageBrick Class
    PageInfo Enumeration
   [Expand]PageInfoBrick Class
   [Expand]PageInfoDataProviderBase Class
   [Expand]PageInfoTextBrick Class
   [Expand]PageInfoTextBrickBase Class
   [Expand]PageList Class
   [Expand]PagePaintEventArgs Class
    PagePaintEventHandler Delegate
   [Expand]PageSettingsHelper Class
   [Expand]PageTableBrick Class
    PageViewModes Enumeration
   [Expand]PanelBrick Class
    PdfACompatibility Enumeration
   [Expand]PdfAttachment Class
    PdfAttachmentRelationship Enumeration
   [Expand]PdfDocumentOptions Class
    PdfEncryptionLevel Enumeration
   [Expand]PdfExportOptions Class
    PdfJpegImageQuality Enumeration
   [Expand]PdfPasswordSecurityOptions Class
   [Expand]PdfPermissionsOptions Class
   [Expand]PdfSignatureOptions Class
   [Expand]PrintDocumentEventArgs Class
    PrintDocumentEventHandler Delegate
   [Expand]PrinterSettingsUsing Class
    PrintingPermissions Enumeration
    PrintingSystemActivity Enumeration
   [Expand]PrintingSystemBase Class
    PrintingSystemCommand Enumeration
   [Expand]PrintPreviewOptions Class
   [Expand]PrintProgressEventArgs Class
    PrintProgressEventHandler Delegate
   [Expand]PrintToolBase Class
   [Expand]ProgressBarBrick Class
   [Expand]ProgressReflector Class
   [Expand]Recipient Class
   [Expand]RecipientCollection Class
    RecipientFieldType Enumeration
   [Expand]RichTextBrick Class
   [Expand]RichTextBrickBase Class
    RtfExportMode Enumeration
   [Expand]RtfExportOptions Class
    SaveMode Enumeration
   [Expand]ShapeBrick Class
    SizeMode Enumeration
   [Expand]TableRow Class
   [Expand]TableRowCollection Class
    TextAlignment Enumeration
   [Expand]TextBrick Class
   [Expand]TextBrickBase Class
   [Expand]TextEditingField Class
    TextExportMode Enumeration
   [Expand]TextExportOptions Class
   [Expand]TextExportOptionsBase Class
    TextRenderingMode Enumeration
   [Expand]UserPageBrick Class
   [Expand]UserVisualBrick Class
    VerticalContentSplitting Enumeration
   [Expand]VisualBrick Class
    WorkbookColorPaletteCompliance Enumeration
   [Expand]XlDocumentOptions Class
   [Expand]XlEncryptionOptions Class
    XlEncryptionType Enumeration
   [Expand]XlExportOptionsBase Class
    XlIgnoreErrors Enumeration
    XlsExportMode Enumeration
   [Expand]XlsExportOptions Class
   [Expand]XlsExportOptionsEx Class
   [Expand]XlSheetCreatedEventArgs Class
    XlsxExportMode Enumeration
   [Expand]XlsxExportOptions Class
   [Expand]XlsxExportOptionsEx Class
    XpsCompressionOption Enumeration
   [Expand]XpsDocumentOptions Class
   [Expand]XpsExportOptions Class
   [Expand]XtraPageSettingsBase Class
   [Expand]ZipCodeBrick Class
  [Expand]DevExpress.XtraPrinting.BarCode
  [Expand]DevExpress.XtraPrinting.Caching
  [Expand]DevExpress.XtraPrinting.DataNodes
  [Expand]DevExpress.XtraPrinting.Drawing
  [Expand]DevExpress.XtraPrinting.Export
  [Expand]DevExpress.XtraPrinting.Export.Web
  [Expand]DevExpress.XtraPrinting.Localization
  [Expand]DevExpress.XtraPrinting.Native
  [Expand]DevExpress.XtraPrinting.Shape
  [Expand]DevExpress.XtraPrinting.Shape.Native
  [Expand]DevExpress.XtraPrinting.WebClientUIControl.DataContracts
  [Expand]DevExpress.XtraPrinting.XamlExport
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports
  [Expand]DevExpress.XtraReports.Design
  [Expand]DevExpress.XtraReports.Parameters
  [Expand]DevExpress.XtraReports.ReportGeneration
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.API.Layout
  [Expand]DevExpress.XtraRichEdit.API.Native
  [Expand]DevExpress.XtraRichEdit.API.Native.Implementation
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Export.Html
  [Expand]DevExpress.XtraRichEdit.Export.Rtf
  [Expand]DevExpress.XtraRichEdit.Forms
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Services
  [Expand]DevExpress.XtraRichEdit.Utils
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Compatibility
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Exchange
  [Expand]DevExpress.XtraScheduler.iCalendar
  [Expand]DevExpress.XtraScheduler.iCalendar.Components
  [Expand]DevExpress.XtraScheduler.Localization
  [Expand]DevExpress.XtraScheduler.Native
  [Expand]DevExpress.XtraScheduler.Outlook
  [Expand]DevExpress.XtraScheduler.Outlook.Interop
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.Tools
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraScheduler.Xml
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Export
  [Expand]DevExpress.XtraSpreadsheet.Export.Html
  [Expand]DevExpress.XtraSpreadsheet.Import
  [Expand]DevExpress.XtraSpreadsheet.Localization
  [Expand]DevExpress.XtraSpreadsheet.Services
[Expand]Tools and Utilities
 End-User Documentation

IPrintable Interface

Defines methods to print different controls using the XtraPrinting Library.

Namespace:DevExpress.XtraPrinting
Assembly:DevExpress.Data.v18.2.dll

Expanded Syntax

Expanded Remarks

If a control implements the IPrintable interface, it can be printed via the XtraPrintingSystem using DevExpress.XtraPrinting.PrintableComponentLink.

IPrintable is derived from the IBasePrintable interface which defines methods that handle report creation. The IPrintable interface provides the ability to customize printing settings via the Property editor.

At design time, you can customize a control's print settings using the Property editor. For example, in the Link Collection Editor, you can invoke it by pressing the button.

To print a control that implement the IPrintable interface, add a DevExpress.XtraPrinting.PrintableComponentLink to the DevExpress.XtraPrinting.PrintingSystem.Links collection and assign the IPrintable control to the PrintableComponentLinkBase.Component property.

Note

Some controls (like DevExpress.XtraRichEdit.RichEditControl) will ignore the page options provided by the corresponding printing links and use their own page options, instead.

If the Property editor is available, the HasPropertyEditor method must return true and the PropertyEditorControl property must specify the Property editor form itself.

When the Property editor is activated, it provides the "OK", "Cancel", "Apply", and "Help" buttons. To supply a help system for the Property editor, use the SupportsHelp and ShowHelp methods. The first method is called to determine whether or not the help system is available to the Property editor. The second invokes the help system itself.

Pressing the "Apply" or "OK" button applies the changes made to a control using the Property editor, by calling the AcceptChanges method. To discard the changes, press the "Cancel" button, which invokes the RejectChanges method.

The following image demonstrates the Property editor for the XtraTreeList component that implements the IPrintable interface.

At the beginning of document creation, the IBasePrintable.Initialize method is called. For an IPrintable control, it defines which IPrintingSystem object generates a report, and which ILink object is used to print and/or export the control.

Before creating every area within a document, the IBasePrintable.CreateArea method is called. Its parameters define the name of the created area and the IBrickGraphics object on which it is created.

For the complete list of DevExpress controls that implement the IPrintable interface, see Document Creation Approaches.

Expanded Inheritance Hierarchy

Expanded See Also

Is this topic helpful?​​​​​​​