Configuración de página

La clase PrintOperation tiene un método llamado set_default_page_setup() que selecciona el tamaño de papel, orientación y márgenes predeterminados. Para mostrar un diálogo de configuración de página desde su aplicación, use el método Gtk::run_page_setup_dialog(), que devuelve un objeto Gtk::PageSetup() con la configuración elegida. Use este objeto para actualizar una PrintOperation y acceder a Gtk::PaperSize, Gtk::PageOrientation y los márgenes específicos de la impresora.

Debe guardar la Gtk::PageSetup elegida para poder usarla luego si se vuelve a mostrar el diálogo de configuración de la página.

Por ejemplo,

// Within a class that inherits from Gtk::Window and keeps m_refPageSetup
// and m_refSettings as members...
auto new_page_setup = Gtk::run_page_setup_dialog(*this, m_refPageSetup, m_refSettings);
m_refPageSetup = new_page_setup;

Referencia

El sistema de coordenadas de Cairo, en el gestor draw_page, rota automáticamente a la orientación de la página actual. Normalmente está dentro de los márgenes de la impresora, pero puede cambiar esto mediante el método PrintOperation::set_use_full_page(). La unidad de medida predeterminada es el píxel del dispositivo. Para seleccionar otras unidades, use el método PrintOperation::set_unit().