class QPageSize#

The QPageSize class describes the size and name of a defined page size. More

Synopsis#

Methods#

Static functions#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

This class implements support for the set of standard page sizes as defined in the Adobe Postscript PPD Standard v4.3. It defines the standard set of page sizes in points, millimeters and inches and ensures these sizes are consistently used. Other size units can be used but will be calculated results and so may not always be consistent. The defined point sizes are always a integer, all other sizes can be fractions of a unit.

The defined size is always in width x height order with no implied page orientation. Note that it is possible for page sizes to be defined where the width is greater than the height, such as Ledger , so you cannot rely on comparing the width and height values to determine page orientation.

For example, A4 is defined by the standard as 210mm x 297mm, 8.27in x 11.69in, or 595pt x 842pt.

You can also define custom page sizes with custom names in any units you want and this unit size will be preserved and used as the base for all other unit size calculations.

When creating a QPageSize using a custom QSize you can choose if you want QPageSize to try match the size to a standard page size. By default QPaperSize uses a FuzzyMatch mode where it will match a given page size to a standard page size if it falls within 3 postscript points of a defined standard size. You can override this to request only an exact match but this is not recommended as conversions between units can easily lose 3 points and result in incorrect page sizes.

A QPageSize instance may also be obtained by querying the supported page sizes for a print device. In this case the localized name returned is that defined by the printer itself. Note that the print device may not support the current default locale language.

The class also provides convenience methods for converting page size IDs to and from various unit sizes.

class PageSizeId#

This enum type lists the available page sizes as defined in the Postscript PPD standard. These values are duplicated in QPagedPaintDevice and QPrinter.

The defined sizes are:

Constant

Description

QPageSize.A0

841 x 1189 mm

QPageSize.A1

594 x 841 mm

QPageSize.A2

420 x 594 mm

QPageSize.A3

297 x 420 mm

QPageSize.A4

210 x 297 mm, 8.26 x 11.69 inches

QPageSize.A5

148 x 210 mm

QPageSize.A6

105 x 148 mm

QPageSize.A7

74 x 105 mm

QPageSize.A8

52 x 74 mm

QPageSize.A9

37 x 52 mm

QPageSize.B0

1000 x 1414 mm

QPageSize.B1

707 x 1000 mm

QPageSize.B2

500 x 707 mm

QPageSize.B3

353 x 500 mm

QPageSize.B4

250 x 353 mm

QPageSize.B5

176 x 250 mm, 6.93 x 9.84 inches

QPageSize.B6

125 x 176 mm

QPageSize.B7

88 x 125 mm

QPageSize.B8

62 x 88 mm

QPageSize.B9

44 x 62 mm

QPageSize.B10

31 x 44 mm

QPageSize.C5E

163 x 229 mm

QPageSize.Comm10E

105 x 241 mm, U.S. Common 10 Envelope

QPageSize.DLE

110 x 220 mm

QPageSize.Executive

7.5 x 10 inches, 190.5 x 254 mm

QPageSize.Folio

210 x 330 mm

QPageSize.Ledger

431.8 x 279.4 mm

QPageSize.Legal

8.5 x 14 inches, 215.9 x 355.6 mm

QPageSize.Letter

8.5 x 11 inches, 215.9 x 279.4 mm

QPageSize.Tabloid

279.4 x 431.8 mm

QPageSize.Custom

Unknown, or a user defined size.

QPageSize.A10

QPageSize.A3Extra

QPageSize.A4Extra

QPageSize.A4Plus

QPageSize.A4Small

QPageSize.A5Extra

QPageSize.B5Extra

QPageSize.JisB0

QPageSize.JisB1

QPageSize.JisB2

QPageSize.JisB3

QPageSize.JisB4

QPageSize.JisB5

QPageSize.JisB6

,

QPageSize.JisB7

QPageSize.JisB8

QPageSize.JisB9

QPageSize.JisB10

QPageSize.AnsiA

= Letter

QPageSize.AnsiB

= Ledger

QPageSize.AnsiC

QPageSize.AnsiD

QPageSize.AnsiE

QPageSize.LegalExtra

QPageSize.LetterExtra

QPageSize.LetterPlus

QPageSize.LetterSmall

QPageSize.TabloidExtra

QPageSize.ArchA

QPageSize.ArchB

QPageSize.ArchC

QPageSize.ArchD

QPageSize.ArchE

QPageSize.Imperial7x9

QPageSize.Imperial8x10

QPageSize.Imperial9x11

QPageSize.Imperial9x12

QPageSize.Imperial10x11

QPageSize.Imperial10x13

QPageSize.Imperial10x14

QPageSize.Imperial12x11

QPageSize.Imperial15x11

QPageSize.ExecutiveStandard

QPageSize.Note

QPageSize.Quarto

QPageSize.Statement

QPageSize.SuperA

QPageSize.SuperB

QPageSize.Postcard

QPageSize.DoublePostcard

QPageSize.Prc16K

QPageSize.Prc32K

QPageSize.Prc32KBig

QPageSize.FanFoldUS

QPageSize.FanFoldGerman

QPageSize.FanFoldGermanLegal

QPageSize.EnvelopeB4

QPageSize.EnvelopeB5

QPageSize.EnvelopeB6

QPageSize.EnvelopeC0

QPageSize.EnvelopeC1

QPageSize.EnvelopeC2

QPageSize.EnvelopeC3

QPageSize.EnvelopeC4

QPageSize.EnvelopeC5

= C5E

QPageSize.EnvelopeC6

QPageSize.EnvelopeC65

QPageSize.EnvelopeC7

QPageSize.EnvelopeDL

= DLE

QPageSize.Envelope9

QPageSize.Envelope10

= Comm10E

QPageSize.Envelope11

QPageSize.Envelope12

QPageSize.Envelope14

QPageSize.EnvelopeMonarch

QPageSize.EnvelopePersonal

QPageSize.EnvelopeChou3

QPageSize.EnvelopeChou4

QPageSize.EnvelopeInvite

QPageSize.EnvelopeItalian

QPageSize.EnvelopeKaku2

QPageSize.EnvelopeKaku3

QPageSize.EnvelopePrc1

QPageSize.EnvelopePrc2

QPageSize.EnvelopePrc3

QPageSize.EnvelopePrc4

QPageSize.EnvelopePrc5

QPageSize.EnvelopePrc6

QPageSize.EnvelopePrc7

QPageSize.EnvelopePrc8

QPageSize.EnvelopePrc9

QPageSize.EnvelopePrc10

QPageSize.EnvelopeYou4

QPageSize.LastPageSize

= EnvelopeYou4

Due to historic reasons QPageSize::Executive is not the same as the standard Postscript and Windows Executive size, use QPageSize::ExecutiveStandard instead.

The Postscript standard size QPageSize::Folio is different to the Windows DMPAPER_FOLIO size, use the Postscript standard size QPageSize::FanFoldGermanLegal if needed.

class Unit#

This enum type is used to specify the measurement unit for page sizes.

Constant

Description

QPageSize.Millimeter

QPageSize.Point

1/72th of an inch

QPageSize.Inch

QPageSize.Pica

1/72th of a foot, 1/6th of an inch, 12 Points

QPageSize.Didot

1/72th of a French inch, 0.375 mm

QPageSize.Cicero

1/6th of a French inch, 12 Didot, 4.5mm

class SizeMatchPolicy#

Constant

Description

QPageSize.FuzzyMatch

Match to a standard page size if within the margin of tolerance.

QPageSize.FuzzyOrientationMatch

Match to a standard page size if within the margin of tolerance regardless of orientation.

QPageSize.ExactMatch

Only match to a standard page size if the sizes match exactly.

__init__(pageSizeId)#
Parameters:

pageSizeIdPageSizeId

Creates a QPageSize of the standard pageSize.

If pageSize is Custom then the resulting QPageSize will not be valid. Use the custom size constructor instead.

__init__(other)
Parameters:

otherQPageSize

Copy constructor, copies other to this.

__init__(pointSize[, name=""[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch]])
Parameters:

Creates a QPageSize of the given pointSize in Points using the matching matchPolicy.

If the given pointSize matches a standard PageSizeId , then that page size will be used. Note that if the matchPolicy is FuzzyMatch this may result in the pointSize being adjusted to the standard size. To prevent this happening use a matchPolicy of ExactMatch instead.

If the given pointSize is not a standard PageSizeId then a Custom size will be created.

If name is null then the standard localized name will be used. If a custom page size then a custom name in the format “Custom (width x height)” will be created.

The matchPolicy defaults to FuzzyMatch .

__init__(size, units[, name=""[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch]])
Parameters:

Creates a custom page of the given size in units.

If the given size matches a standard PageSizeId , then that page size will be used. Note that if the matchPolicy is FuzzyMatch this may result in the size being adjusted to the standard size. To prevent this happening use a matchPolicy of ExactMatch instead.

If the given size is not a standard PageSizeId then a Custom size will be created. The original unit size will be preserved and used as the base for all other unit size calculations.

If name is null then a custom name will be created in the form “Custom (width x height)” where the size is expressed in units provided.

__init__()

Creates a null QPageSize .

definitionSize()#
Return type:

QSizeF

Returns the definition size of the page size.

For a standard page size this will be the size as defined in the relevant standard, i.e. ISO A4 will be defined in millimeters while ANSI Letter will be defined in inches.

For a custom page size this will be the original size used to create the page size object.

If the QPageSize is invalid then the QSizeF will be invalid.

static definitionSize(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

QSizeF

Returns the definition size of the standard pageSizeId.

To obtain the definition units, call definitionUnits() .

definitionUnits()#
Return type:

Unit

Returns the definition units of the page size.

For a standard page size this will be the units as defined in the relevant standard, i.e. ISO A4 will be defined in millimeters while ANSI Letter will be defined in inches.

For a custom page size this will be the original units used to create the page size object.

If the QPageSize is invalid then the Unit will be invalid.

See also

definitionSize()

static definitionUnits(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

Unit

Returns the definition units of the standard pageSizeId.

To obtain the definition size, call definitionSize() .

id()#
Return type:

PageSizeId

Returns the standard PageSizeId of the page, or Custom .

If the QPageSize is invalid then the ID will be Custom .

static id(pointSize[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch])
Parameters:
Return type:

PageSizeId

Returns the standard PageSizeId of the given pointSize in points using the given matchPolicy.

If using FuzzyMatch then the point size of the PageSizeId returned may not exactly match the pointSize you passed in. You should call sizePoints() using the returned PageSizeId to find out the actual point size of the PageSizeId before using it in any calculations.

static id(size, units[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch])
Parameters:
Return type:

PageSizeId

Returns the standard PageSizeId of the given size in units using the given matchPolicy.

If using FuzzyMatch then the unit size of the PageSizeId returned may not exactly match the size you passed in. You should call size() using the returned PageSizeId to find out the actual unit size of the PageSizeId before using it in any calculations.

static id(windowsId)
Parameters:

windowsId – int

Return type:

PageSizeId

Returns the PageSizeId for the given Windows DMPAPER enum value windowsId.

If there is no matching PageSizeId then Custom is returned.

isEquivalentTo(other)#
Parameters:

otherQPageSize

Return type:

bool

Returns true if this page is equivalent to the other page, i.e. if the page has the same size regardless of other attributes like name.

isValid()#
Return type:

bool

Returns true if this page size is valid.

The page size may be invalid if created with an invalid PageSizeId , or a negative or invalid QSize or QSizeF, or the null constructor.

static key(pageSizeId)#
Parameters:

pageSizeIdPageSizeId

Return type:

str

Returns the PPD mediaOption keyword of the standard pageSizeId.

If the QPageSize is invalid then the key will be empty.

key()
Return type:

str

Returns the unique key of the page size.

By default this is the PPD standard mediaOption keyword for the page size, or the PPD custom format key. If the QPageSize instance was obtained from a print device then this will be the key provided by the print device and may differ from the standard key.

If the QPageSize is invalid then the key will be an empty string.

This key should never be shown to end users, it is an internal key only. For a human-readable name use name() .

See also

name()

name()#
Return type:

str

Returns a localized human-readable name for the page size.

If the QPageSize instance was obtained from a print device then the name used is that provided by the print device. Note that a print device may not support the current default locale language.

If the QPageSize is invalid then the name will be an empty string.

static name(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

str

Returns the localized name of the standard pageSizeId.

If the QPageSize is invalid then the name will be empty.

__ne__(rhs)#
Parameters:

rhsQPageSize

Return type:

bool

Returns true if page size lhs is unequal to page size rhs, i.e. if the page size has different attributes. Current attributes are size and name.

__eq__(rhs)#
Parameters:

rhsQPageSize

Return type:

bool

Returns true if page size lhs is equal to page size rhs, i.e. if the page sizes have the same attributes. Current attributes are size and name.

rect(units)#
Parameters:

unitsUnit

Return type:

QRectF

Returns the page rectangle in the required units.

If the QPageSize is invalid then the QRect will be invalid.

rectPixels(resolution)#
Parameters:

resolution – int

Return type:

QRect

Returns the page rectangle in Device Pixels at the given resolution.

If the QPageSize is invalid then the QRect will be invalid.

rectPoints()#
Return type:

QRect

Returns the page rectangle in Postscript Points (1/72 of an inch).

If the QPageSize is invalid then the QRect will be invalid.

static size(pageSizeId, units)#
Parameters:
Return type:

QSizeF

Returns the size of the standard pageSizeId in the requested units.

size(units)
Parameters:

unitsUnit

Return type:

QSizeF

Returns the size of the page in the required units.

If the QPageSize is invalid then the QSizeF will be invalid.

static sizePixels(pageSizeId, resolution)#
Parameters:
Return type:

QSize

Returns the size of the standard pageSizeId in Device Pixels for the given resolution.

sizePixels(resolution)
Parameters:

resolution – int

Return type:

QSize

Returns the size of the page in Device Pixels at the given resolution.

If the QPageSize is invalid then the QSize will be invalid.

sizePoints()#
Return type:

QSize

Returns the size of the page in Postscript Points (1/72 of an inch).

If the QPageSize is invalid then the QSize will be invalid.

static sizePoints(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

QSize

Returns the size of the standard pageSizeId in Points.

swap(other)#
Parameters:

otherQPageSize

Swaps this QPageSize with other. This function is very fast and never fails.

windowsId()#
Return type:

int

Returns the Windows DMPAPER enum value for the page size.

Not all valid PPD page sizes have a Windows equivalent, in which case 0 will be returned.

If the QPageSize is invalid then the Windows ID will be 0.

See also

id()

static windowsId(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

int

Returns the Windows DMPAPER enum value of the standard pageSizeId.

Not all valid PPD page sizes have a Windows equivalent, in which case 0 will be returned.