PageSetup

class PageSetup(**properties: Any)

Superclasses: Object

A GtkPageSetup object stores the page size, orientation and margins.

The idea is that you can get one of these from the page setup dialog and then pass it to the GtkPrintOperation when printing. The benefit of splitting this out of the GtkPrintSettings is that these affect the actual layout of the page, and thus need to be set long before user prints.

Margins

The margins specified in this object are the “print margins”, i.e. the parts of the page that the printer cannot print on. These are different from the layout margins that a word processor uses; they are typically used to determine the minimal size for the layout margins.

To obtain a GtkPageSetup use new to get the defaults, or use print_run_page_setup_dialog to show the page setup dialog and receive the resulting page setup.

A page setup dialog

static GtkPrintSettings *settings = NULL;
static GtkPageSetup *page_setup = NULL;

static void
do_page_setup (void)
{
  GtkPageSetup *new_page_setup;

  if (settings == NULL)
    settings = gtk_print_settings_new ();

  new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window),
                                                    page_setup, settings);

  if (page_setup)
    g_object_unref (page_setup);

  page_setup = new_page_setup;
}

Constructors

class PageSetup
classmethod new() PageSetup

Creates a new GtkPageSetup.

classmethod new_from_file(file_name: str) PageSetup

Reads the page setup from the file file_name.

Returns a new GtkPageSetup object with the restored page setup, or None if an error occurred. See to_file.

Parameters:

file_name – the filename to read the page setup from

classmethod new_from_gvariant(variant: Variant) PageSetup

Desrialize a page setup from an a{sv} variant.

The variant must be in the format produced by to_gvariant.

Parameters:

variant – an a{sv} GVariant

classmethod new_from_key_file(key_file: KeyFile, group_name: str | None = None) PageSetup

Reads the page setup from the group group_name in the key file key_file.

Returns a new GtkPageSetup object with the restored page setup, or None if an error occurred.

Parameters:
  • key_file – the GKeyFile to retrieve the page_setup from

  • group_name – the name of the group in the key_file to read to use the default name “Page Setup”

Methods

class PageSetup
get_bottom_margin(unit: Unit) float

Gets the bottom margin in units of unit.

Parameters:

unit – the unit for the return value

get_left_margin(unit: Unit) float

Gets the left margin in units of unit.

Parameters:

unit – the unit for the return value

get_orientation() PageOrientation

Gets the page orientation of the GtkPageSetup.

get_page_height(unit: Unit) float

Returns the page height in units of unit.

Note that this function takes orientation and margins into consideration. See get_paper_height.

Parameters:

unit – the unit for the return value

get_page_width(unit: Unit) float

Returns the page width in units of unit.

Note that this function takes orientation and margins into consideration. See get_paper_width.

Parameters:

unit – the unit for the return value

get_paper_height(unit: Unit) float

Returns the paper height in units of unit.

Note that this function takes orientation, but not margins into consideration. See get_page_height.

Parameters:

unit – the unit for the return value

get_paper_size() PaperSize

Gets the paper size of the GtkPageSetup.

get_paper_width(unit: Unit) float

Returns the paper width in units of unit.

Note that this function takes orientation, but not margins into consideration. See get_page_width.

Parameters:

unit – the unit for the return value

get_right_margin(unit: Unit) float

Gets the right margin in units of unit.

Parameters:

unit – the unit for the return value

get_top_margin(unit: Unit) float

Gets the top margin in units of unit.

Parameters:

unit – the unit for the return value

load_file(file_name: str) bool

Reads the page setup from the file file_name.

See to_file.

Parameters:

file_name – the filename to read the page setup from

load_key_file(key_file: KeyFile, group_name: str | None = None) bool

Reads the page setup from the group group_name in the key file key_file.

Parameters:
  • key_file – the GKeyFile to retrieve the page_setup from

  • group_name – the name of the group in the key_file to read to use the default name “Page Setup”

set_bottom_margin(margin: float, unit: Unit) None

Sets the bottom margin of the GtkPageSetup.

Parameters:
  • margin – the new bottom margin in units of unit

  • unit – the units for margin

set_left_margin(margin: float, unit: Unit) None

Sets the left margin of the GtkPageSetup.

Parameters:
  • margin – the new left margin in units of unit

  • unit – the units for margin

set_orientation(orientation: PageOrientation) None

Sets the page orientation of the GtkPageSetup.

Parameters:

orientation – a GtkPageOrientation value

set_paper_size(size: PaperSize) None

Sets the paper size of the GtkPageSetup without changing the margins.

See set_paper_size_and_default_margins.

Parameters:

size – a GtkPaperSize

set_paper_size_and_default_margins(size: PaperSize) None

Sets the paper size of the GtkPageSetup and modifies the margins according to the new paper size.

Parameters:

size – a GtkPaperSize

set_right_margin(margin: float, unit: Unit) None

Sets the right margin of the GtkPageSetup.

Parameters:
  • margin – the new right margin in units of unit

  • unit – the units for margin

set_top_margin(margin: float, unit: Unit) None

Sets the top margin of the GtkPageSetup.

Parameters:
  • margin – the new top margin in units of unit

  • unit – the units for margin

to_file(file_name: str) bool

This function saves the information from setup to file_name.

Parameters:

file_name – the file to save to

to_gvariant() Variant

Serialize page setup to an a{sv} variant.

to_key_file(key_file: KeyFile, group_name: str | None = None) None

This function adds the page setup from setup to key_file.

Parameters:
  • key_file – the GKeyFile to save the page setup to

  • group_name – the group to add the settings to in key_file, or None to use the default name “Page Setup”