### Class

# GtkPrintJob

#### Description [src]

    final class Gtk.PrintJob : GObject.Object
    {
      /* No available fields */
    }

A `GtkPrintJob` object represents a job that is sent to a printer.

You only need to deal directly with print jobs if you use the non-portable `GtkPrintUnixDialog` API.

Use `gtk_print_job_get_surface()` to obtain the cairo surface onto which the pages must be drawn. Use `gtk_print_job_send()` to send the finished job to the printer. If you don’t use cairo `GtkPrintJob` also supports printing of manually generated PostScript, via `gtk_print_job_set_source_file()`.

#### Hierarchy

#### Ancestors

- GObject

#### Constructors

###### gtk_print_job_new

Creates a new `GtkPrintJob`.

#### Instance methods

###### gtk_print_job_get_collate

Gets whether this job is printed collated.

###### gtk_print_job_get_n_up

Gets the n-up setting for this job.

###### gtk_print_job_get_n_up_layout

Gets the n-up layout setting for this job.

###### gtk_print_job_get_num_copies

Gets the number of copies of this job.

###### gtk_print_job_get_page_ranges

Gets the page ranges for this job.

###### gtk_print_job_get_page_set

Gets the `GtkPageSet` setting for this job.

###### gtk_print_job_get_pages

Gets the `GtkPrintPages` setting for this job.

###### gtk_print_job_get_printer

Gets the `GtkPrinter` of the print job.

###### gtk_print_job_get_reverse

Gets whether this job is printed reversed.

###### gtk_print_job_get_rotate

Gets whether the job is printed rotated.

###### gtk_print_job_get_scale

Gets the scale for this job.

###### gtk_print_job_get_settings

Gets the `GtkPrintSettings` of the print job.

###### gtk_print_job_get_status

Gets the status of the print job.

###### gtk_print_job_get_surface

Gets a cairo surface onto which the pages of the print job should be rendered.

###### gtk_print_job_get_title

Gets the job title.

###### gtk_print_job_get_track_print_status

Returns whether jobs will be tracked after printing.

###### gtk_print_job_send

Sends the print job off to the printer.

###### gtk_print_job_set_collate

Sets whether this job is printed collated.

###### gtk_print_job_set_n_up

Sets the n-up setting for this job.

###### gtk_print_job_set_n_up_layout

Sets the n-up layout setting for this job.

###### gtk_print_job_set_num_copies

Sets the number of copies for this job.

###### gtk_print_job_set_page_ranges

Sets the page ranges for this job.

###### gtk_print_job_set_page_set

Sets the `GtkPageSet` setting for this job.

###### gtk_print_job_set_pages

Sets the `GtkPrintPages` setting for this job.

###### gtk_print_job_set_reverse

Sets whether this job is printed reversed.

###### gtk_print_job_set_rotate

Sets whether this job is printed rotated.

###### gtk_print_job_set_scale

Sets the scale for this job.

###### gtk_print_job_set_source_fd

Make the `GtkPrintJob` send an existing document to the printing system.

###### gtk_print_job_set_source_file

Make the `GtkPrintJob` send an existing document to the printing system.

###### gtk_print_job_set_track_print_status

If track_status is `TRUE`, the print job will try to continue report on the status of the print job in the printer queues and printer.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Gtk.PrintJob:page-setup

Page setup.

###### Gtk.PrintJob:printer

The printer to send the job to.

###### Gtk.PrintJob:settings

Printer settings.

###### Gtk.PrintJob:title

The title of the print job.

###### Gtk.PrintJob:track-print-status

`TRUE` if the print job will continue to emit status-changed signals after the print data has been setn to the printer.

#### Signals

###### Gtk.PrintJob::status-changed

Emitted when the status of a job changes.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.