[Overview][Types][Classes][Variables][Index] | Reference for unit 'Printers' (#lcl)

# TPrinter

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TPrinter - class defining printer to be used in Lazarus applications

## Declaration

Source position: printers.pas line 185

`type TPrinter = class(TObject)`
`protected`
`procedure SelectCurrentPrinterOrDefault;` |  | SelectCurrentPrinterOrDefault method for selecting either the current printer or the default
`procedure DoBeginDoc; virtual;` |  | DoBeginDoc - method to begin printing the document
`procedure DoNewPage; virtual;` |  | DoNewPage - method for beginning a new page
`procedure DoEndDoc(); virtual;` |  | DoEndDoc - method for finishing printing document. aAborded is True if printing has been aborted (eg by operator)
`procedure DoAbort; virtual;` |  | DoAbort - method for aborting the printing
`procedure DoResetPrintersList; virtual;` |  | DoResetPrintersList - method for resetting the list of printers
`procedure DoResetFontsList; virtual;` |  | DoResetFontsList - method for resetting the list of fonts
`procedure DoEnumPrinters(); virtual;` |  | DoEnumPrinters - method for producing an enumerated list of printers
`procedure DoEnumFonts(); virtual;` |  | DoEnumFonts - method for producing an enumerated list of fonts
`procedure DoEnumPapers(); virtual;` |  | DoEnumPapers - method for producing an enumerated list of papers
`procedure DoInitialization; virtual;` |  | DoInitialization - method for performing initialisation
`function DoSetPrinter(); virtual;` |  | DoSetPrinter - returns integer corresponding to specified named printer
`function DoGetCopies; virtual;` |  | DoGetCopies - returns the number of copies required
`procedure DoSetCopies(); virtual;` |  | DoSetCopies - specifieds the number of copies required
`function DoGetOrientation; virtual;` |  | DoGetOrientation - returns the required orientation for printing (landscape of portrait)
`procedure DoSetOrientation(); virtual;` |  | DoSetOrientation - specifies the orientation for printing (landscape or portrait)
`function DoGetDefaultPaperName; virtual;` |  | DoGetDefaultPaperName - returns the default name for the paper
`function DoGetPaperName; virtual;` |  | DoGetPaperName - returns the name of the current paper
`procedure DoSetPaperName(); virtual;` |  | DoSetPaperName - specifies the name of the paper
`function DoGetPaperRect(); virtual;` |  | DoGetPaperRect - returns the dimensions of the rectangle for the named paper
`function DoGetPrinterState; virtual;` |  | DoGetPrinterState - retruns the printer state
`function GetPrinterType; virtual;` |  | GetPrinterType - returns the printer type
`function GetCanPrint; virtual;` |  | GetCanPrint - returns True if the printer is able to print
`function GetCanRenderCopies; virtual;` |  | GetCanRenderCopies - returns True if the printer is able to render copies
`function GetXDPI; virtual;` |  | GetXDPI - returns the number of Dots Per Inch in the X plane
`function GetYDPI; virtual;` |  | GetYDPI - returns the number of Dots Per Inch in the Y plane
`procedure CheckRawMode();` |  | CheckRawMode - check whether the printer operates in Raw mode (as opposed to PostScript etc)
`procedure RawModeChanging; virtual;` |  | RawModeChanging - the raw mode is changing (eg PostScript is being invoked)
`procedure PrinterSelected; virtual;` |  | PrinterSelected - method for dealing with a printer that has been selected
`function DoGetDefaultCanvasClass; virtual;`
`public`
`constructor Create; virtual;` |  |
`destructor Destroy; override;` |  |
`procedure Abort;` |  | Abort - terminate the current printing event (even if it hasn't finished)
`procedure BeginDoc;` |  | BeginDoc - start printing the currently selected document
`procedure EndDoc;` |  | EndDoc - finish printing the current document
`procedure NewPage;` |  | NewPage - start printing on a new page
`procedure Refresh;` |  | Refresh the data for printing, eg after a change
`procedure SetPrinter();` |  | SetPrinter - specify use of the named printer
`function Write(); virtual;` |  | Write to a specified Buffer: Count contains the number of bytes for writing, Written contains the number that have been written. Returns True if successful
`property PrinterIndex: Integer; [rw]` |  | PrinterIndex - the printer's index in the list of printers
`property PaperSize: TPaperSize; [r]` |  | PaperSize - the size of paper to be used for the current document
`property Orientation: TPrinterOrientation; [rw]` |  | The Orientation - for printing the current document (landscape or portrait, normal or reversed)
`property PrinterState: TPrinterState; [r]` |  | PrinterState - ready, printing, stopped or undefined
`property Copies: Integer; [rw]` |  | Number of Copies of the current document
`property Printers: TStrings; [r]` |  | Printers - the list of available printers for printing the current document
`property FileName: String; [rw]`
`property Fonts: TStrings; [r]` |  | the list of available Fonts for the current printer
`property Canvas: TCanvas; [r]` |  | The Canvas to be used for laying out the current document ready for printing
`property CanvasClass: TPrinterCanvasRef; [rw]`
`property PageHeight: Integer; [r]` |  | PageHeight - for printing the current document with the defined PaperSize
`property PageWidth: Integer; [r]` |  | The PageWidth for the current document with the defined PaperSize
`property PageNumber: Integer; [r]` |  | PageNumber - the number of the current page being printed
`property Aborted: Boolean; [r]` |  | Aborted - True if printing of the document has been prematurely terminated by operator command
`property Printing: Boolean; [r]` |  | Printing - True if document is in process of being printed
`property Title: String; [rw]` |  | Title - name for this printer
`property PrinterType: TPrinterType; [r]` |  | PrinterType - whether a local or network printer
`property CanPrint: Boolean; [r]` |  | CanPrint - True if printing is enabled or not disabled
`property CanRenderCopies: Boolean; [r]` |  | CanRenderCopies - True if the printer device can render copies
`property XDPI: Integer; [r]` |  | XDPI - number of dots per inch in X-direction
`property YDPI: Integer; [r]` |  | YDPI - number of dots per inch in Y direction
`property RawMode: Boolean; [rw]` |  | RawMode - true if printer operates in Raw Mode (as opposed to PostScript or some other page description language)
`end;`

## Inheritance

`TPrinter` |  | TPrinter - class defining printer to be used in Lazarus applications
`TObject`

The latest version of this document can be found at lazarus-ccr.sourceforge.net .