## wxPrintData

This class holds a variety of information related to printers and printer device contexts. This class is used to create a wxPrinterDC and a wxPostScriptDC. It is also used as a data member of wxPrintDialogData and wxPageSetupDialogData, as part of the mechanism for transferring data between the print dialogs and the application.

Derived from

wxObject

Include files

<wx/cmndata.h>

See also

Printing framework overview, wxPrintDialog, wxPageSetupDialog, wxPrintDialogData, wxPageSetupDialogData, wxPrintDialog Overview, wxPrinterDC, wxPostScriptDC

Remarks

The following functions are specific to PostScript printing and have not yet been documented:

    const wxString& GetPrinterCommand() const ;
    const wxString& GetPrinterOptions() const ;
    const wxString& GetPreviewCommand() const ;
    const wxString& GetFilename() const ;
    const wxString& GetFontMetricPath() const ;
    double GetPrinterScaleX() const ;
    double GetPrinterScaleY() const ;
    long GetPrinterTranslateX() const ;
    long GetPrinterTranslateY() const ;
    // wxPRINT_MODE_PREVIEW, wxPRINT_MODE_FILE, wxPRINT_MODE_PRINTER
    wxPrintMode GetPrintMode() const ;

    void SetPrinterCommand(const wxString& command) ;
    void SetPrinterOptions(const wxString& options) ;
    void SetPreviewCommand(const wxString& command) ;
    void SetFilename(const wxString& filename) ;
    void SetFontMetricPath(const wxString& path) ;
    void SetPrinterScaleX(double x) ;
    void SetPrinterScaleY(double y) ;
    void SetPrinterScaling(double x, double y) ;
    void SetPrinterTranslateX(long x) ;
    void SetPrinterTranslateY(long y) ;
    void SetPrinterTranslation(long x, long y) ;
    void SetPrintMode(wxPrintMode printMode) ;

Members

wxPrintData::wxPrintData
wxPrintData::~wxPrintData
wxPrintData::GetCollate
wxPrintData::GetBin
wxPrintData::GetColour
wxPrintData::GetDuplex
wxPrintData::GetNoCopies
wxPrintData::GetOrientation
wxPrintData::GetPaperId
wxPrintData::GetPrinterName
wxPrintData::GetQuality
wxPrintData::IsOk
wxPrintData::SetBin
wxPrintData::SetCollate
wxPrintData::SetColour
wxPrintData::SetDuplex
wxPrintData::SetNoCopies
wxPrintData::SetOrientation
wxPrintData::SetPaperId
wxPrintData::SetPrinterName
wxPrintData::SetQuality
wxPrintData::operator =

### wxPrintData::wxPrintData

wxPrintData()

Default constructor.

wxPrintData(const wxPrintData& data)

Copy constructor.

### wxPrintData::~wxPrintData

~wxPrintData()

Destructor.

### wxPrintData::GetCollate

bool GetCollate() const

Returns true if collation is on.

### wxPrintData::GetBin

wxPrintBin GetBin() const

Returns the current bin (papersource). By default, the system is left to select the bin (`wxPRINTBIN_DEFAULT` is returned).

See SetBin() for the full list of bin values.

### wxPrintData::GetColour

bool GetColour() const

Returns true if colour printing is on.

### wxPrintData::GetDuplex

wxDuplexMode GetDuplex() const

Returns the duplex mode. One of wxDUPLEX_SIMPLEX, wxDUPLEX_HORIZONTAL, wxDUPLEX_VERTICAL.

### wxPrintData::GetNoCopies

int GetNoCopies() const

Returns the number of copies requested by the user.

### wxPrintData::GetOrientation

int GetOrientation() const

Gets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.

### wxPrintData::GetPaperId

wxPaperSize GetPaperId() const

Returns the paper size id. For more information, see wxPrintData::SetPaperId.

### wxPrintData::GetPrinterName

const wxString& GetPrinterName() const

Returns the printer name. If the printer name is the empty string, it indicates that the default printer should be used.

### wxPrintData::GetQuality

wxPrintQuality GetQuality() const

Returns the current print quality. This can be a positive integer, denoting the number of dots per inch, or one of the following identifiers:

    wxPRINT_QUALITY_HIGH
    wxPRINT_QUALITY_MEDIUM
    wxPRINT_QUALITY_LOW
    wxPRINT_QUALITY_DRAFT

On input you should pass one of these identifiers, but on return you may get back a positive integer indicating the current resolution setting.

### wxPrintData::IsOk

bool IsOk() const

Returns true if the print data is valid for using in print dialogs. This can return false on Windows if the current printer is not set, for example. On all other platforms, it returns true.

### wxPrintData::SetBin

void SetBin(wxPrintBin flag)

Sets the current bin. Possible values are:

    enum wxPrintBin
    {
        wxPRINTBIN_DEFAULT,

        wxPRINTBIN_ONLYONE,
        wxPRINTBIN_LOWER,
        wxPRINTBIN_MIDDLE,
        wxPRINTBIN_MANUAL,
        wxPRINTBIN_ENVELOPE,
        wxPRINTBIN_ENVMANUAL,
        wxPRINTBIN_AUTO,
        wxPRINTBIN_TRACTOR,
        wxPRINTBIN_SMALLFMT,
        wxPRINTBIN_LARGEFMT,
        wxPRINTBIN_LARGECAPACITY,
        wxPRINTBIN_CASSETTE,
        wxPRINTBIN_FORMSOURCE,

        wxPRINTBIN_USER,
    };

### wxPrintData::SetCollate

void SetCollate(bool flag)

Sets collation to on or off.

### wxPrintData::SetColour

void SetColour(bool flag)

Sets colour printing on or off.

### wxPrintData::SetDuplex

void SetDuplex(wxDuplexMode mode)

Returns the duplex mode. One of wxDUPLEX_SIMPLEX, wxDUPLEX_HORIZONTAL, wxDUPLEX_VERTICAL.

### wxPrintData::SetNoCopies

void SetNoCopies(int n)

Sets the default number of copies to be printed out.

### wxPrintData::SetOrientation

void SetOrientation(int orientation)

Sets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.

### wxPrintData::SetPaperId

void SetPaperId(wxPaperSize paperId)

Sets the paper id. This indicates the type of paper to be used. For a mapping between paper id, paper size and string name, see wxPrintPaperDatabase in `paper.h` (not yet documented).

paperId can be one of:

        wxPAPER_NONE,               // Use specific dimensions
        wxPAPER_LETTER,             // Letter, 8 1/2 by 11 inches
        wxPAPER_LEGAL,              // Legal, 8 1/2 by 14 inches
        wxPAPER_A4,                 // A4 Sheet, 210 by 297 millimeters
        wxPAPER_CSHEET,             // C Sheet, 17 by 22 inches
        wxPAPER_DSHEET,             // D Sheet, 22 by 34 inches
        wxPAPER_ESHEET,             // E Sheet, 34 by 44 inches
        wxPAPER_LETTERSMALL,        // Letter Small, 8 1/2 by 11 inches
        wxPAPER_TABLOID,            // Tabloid, 11 by 17 inches
        wxPAPER_LEDGER,             // Ledger, 17 by 11 inches
        wxPAPER_STATEMENT,          // Statement, 5 1/2 by 8 1/2 inches
        wxPAPER_EXECUTIVE,          // Executive, 7 1/4 by 10 1/2 inches
        wxPAPER_A3,                 // A3 sheet, 297 by 420 millimeters
        wxPAPER_A4SMALL,            // A4 small sheet, 210 by 297 millimeters
        wxPAPER_A5,                 // A5 sheet, 148 by 210 millimeters
        wxPAPER_B4,                 // B4 sheet, 250 by 354 millimeters
        wxPAPER_B5,                 // B5 sheet, 182-by-257-millimeter paper
        wxPAPER_FOLIO,              // Folio, 8-1/2-by-13-inch paper
        wxPAPER_QUARTO,             // Quarto, 215-by-275-millimeter paper
        wxPAPER_10X14,              // 10-by-14-inch sheet
        wxPAPER_11X17,              // 11-by-17-inch sheet
        wxPAPER_NOTE,               // Note, 8 1/2 by 11 inches
        wxPAPER_ENV_9,              // #9 Envelope, 3 7/8 by 8 7/8 inches
        wxPAPER_ENV_10,             // #10 Envelope, 4 1/8 by 9 1/2 inches
        wxPAPER_ENV_11,             // #11 Envelope, 4 1/2 by 10 3/8 inches
        wxPAPER_ENV_12,             // #12 Envelope, 4 3/4 by 11 inches
        wxPAPER_ENV_14,             // #14 Envelope, 5 by 11 1/2 inches
        wxPAPER_ENV_DL,             // DL Envelope, 110 by 220 millimeters
        wxPAPER_ENV_C5,             // C5 Envelope, 162 by 229 millimeters
        wxPAPER_ENV_C3,             // C3 Envelope, 324 by 458 millimeters
        wxPAPER_ENV_C4,             // C4 Envelope, 229 by 324 millimeters
        wxPAPER_ENV_C6,             // C6 Envelope, 114 by 162 millimeters
        wxPAPER_ENV_C65,            // C65 Envelope, 114 by 229 millimeters
        wxPAPER_ENV_B4,             // B4 Envelope, 250 by 353 millimeters
        wxPAPER_ENV_B5,             // B5 Envelope, 176 by 250 millimeters
        wxPAPER_ENV_B6,             // B6 Envelope, 176 by 125 millimeters
        wxPAPER_ENV_ITALY,          // Italy Envelope, 110 by 230 millimeters
        wxPAPER_ENV_MONARCH,        // Monarch Envelope, 3 7/8 by 7 1/2 inches
        wxPAPER_ENV_PERSONAL,       // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
        wxPAPER_FANFOLD_US,         // US Std Fanfold, 14 7/8 by 11 inches
        wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
        wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches

    Windows 95 only:
        wxPAPER_ISO_B4,             // B4 (ISO) 250 x 353 mm
        wxPAPER_JAPANESE_POSTCARD,  // Japanese Postcard 100 x 148 mm
        wxPAPER_9X11,               // 9 x 11 in
        wxPAPER_10X11,              // 10 x 11 in
        wxPAPER_15X11,              // 15 x 11 in
        wxPAPER_ENV_INVITE,         // Envelope Invite 220 x 220 mm
        wxPAPER_LETTER_EXTRA,       // Letter Extra 9 \275 x 12 in
        wxPAPER_LEGAL_EXTRA,        // Legal Extra 9 \275 x 15 in
        wxPAPER_TABLOID_EXTRA,      // Tabloid Extra 11.69 x 18 in
        wxPAPER_A4_EXTRA,           // A4 Extra 9.27 x 12.69 in
        wxPAPER_LETTER_TRANSVERSE,  // Letter Transverse 8 \275 x 11 in
        wxPAPER_A4_TRANSVERSE,      // A4 Transverse 210 x 297 mm
        wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
        wxPAPER_A_PLUS,             // SuperA/SuperA/A4 227 x 356 mm
        wxPAPER_B_PLUS,             // SuperB/SuperB/A3 305 x 487 mm
        wxPAPER_LETTER_PLUS,        // Letter Plus 8.5 x 12.69 in
        wxPAPER_A4_PLUS,            // A4 Plus 210 x 330 mm
        wxPAPER_A5_TRANSVERSE,      // A5 Transverse 148 x 210 mm
        wxPAPER_B5_TRANSVERSE,      // B5 (JIS) Transverse 182 x 257 mm
        wxPAPER_A3_EXTRA,           // A3 Extra 322 x 445 mm
        wxPAPER_A5_EXTRA,           // A5 Extra 174 x 235 mm
        wxPAPER_B5_EXTRA,           // B5 (ISO) Extra 201 x 276 mm
        wxPAPER_A2,                 // A2 420 x 594 mm
        wxPAPER_A3_TRANSVERSE,      // A3 Transverse 297 x 420 mm
        wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm

### wxPrintData::SetPrinterName

void SetPrinterName(const wxString& printerName)

Sets the printer name. This can be the empty string to indicate that the default printer should be used.

### wxPrintData::SetQuality

void SetQuality(wxPrintQuality quality)

Sets the desired print quality. This can be a positive integer, denoting the number of dots per inch, or one of the following identifiers:

    wxPRINT_QUALITY_HIGH
    wxPRINT_QUALITY_MEDIUM
    wxPRINT_QUALITY_LOW
    wxPRINT_QUALITY_DRAFT

On input you should pass one of these identifiers, but on return you may get back a positive integer indicating the current resolution setting.

### wxPrintData::operator =

void operator =(const wxPrintData& data)

Assigns print data to this object.

void operator =(const wxPrintSetupData& data)

Assigns print setup data to this object. wxPrintSetupData is deprecated, but retained for backward compatibility.