GtkPrintJob

GtkPrintJob — Represents a print job

Functions

Properties

GtkPageSetup * page-setup Read / Write / Construct Only
GtkPrinter * printer Read / Write / Construct Only
GtkPrintSettings * settings Read / Write / Construct Only
gchar * title Read / Write / Construct Only
gboolean track-print-status Read / Write

Signals

Types and Values

struct GtkPrintJob

Object Hierarchy

    GObject
    ╰── GtkPrintJob

Includes

#include <gtk/gtkprintjob.h>

Description

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().

Printing support was added in GTK+ 2.10.

Functions

GtkPrintJobCompleteFunc ()

void
(*GtkPrintJobCompleteFunc) (GtkPrintJob *print_job,
                            gpointer user_data,
                            GError *error);

The type of callback that is passed to gtk_print_job_send(). It is called when the print job has been completely sent.

Parameters

print_job

the GtkPrintJob

 

user_data

user data that has been passed to gtk_print_job_send()

 

error

a GError that contains error information if the sending of the print job failed, otherwise NULL

 

gtk_print_job_new ()

GtkPrintJob *
gtk_print_job_new (const gchar *title,
                   GtkPrinter *printer,
                   GtkPrintSettings *settings,
                   GtkPageSetup *page_setup);

Creates a new GtkPrintJob.

Parameters

title

the job title

 

printer

a GtkPrinter

 

settings

a GtkPrintSettings

 

page_setup

a GtkPageSetup

 

Returns

a new GtkPrintJob

Since: 2.10


gtk_print_job_get_settings ()

GtkPrintSettings *
gtk_print_job_get_settings (GtkPrintJob *job);

Gets the GtkPrintSettings of the print job.

Parameters

job

a GtkPrintJob

 

Returns

the settings of job .

[transfer none]

Since: 2.10


gtk_print_job_get_printer ()

GtkPrinter *
gtk_print_job_get_printer (GtkPrintJob *job);

Gets the GtkPrinter of the print job.

Parameters

job

a GtkPrintJob

 

Returns

the printer of job .

[transfer none]

Since: 2.10


gtk_print_job_get_title ()

const gchar *
gtk_print_job_get_title (GtkPrintJob *job);

Gets the job title.

Parameters

job

a GtkPrintJob

 

Returns

the title of job

Since: 2.10


gtk_print_job_get_status ()

GtkPrintStatus
gtk_print_job_get_status (GtkPrintJob *job);

Gets the status of the print job.

Parameters

job

a GtkPrintJob

 

Returns

the status of job

Since: 2.10


gtk_print_job_set_source_file ()

gboolean
gtk_print_job_set_source_file (GtkPrintJob *job,
                               const gchar *filename,
                               GError **error);

Make the GtkPrintJob send an existing document to the printing system. The file can be in any format understood by the platforms printing system (typically PostScript, but on many platforms PDF may work too). See gtk_printer_accepts_pdf() and gtk_printer_accepts_ps().

Parameters

job

a GtkPrintJob

 

filename

the file to be printed

 

error

return location for errors

 

Returns

FALSE if an error occurred

Since: 2.10


gtk_print_job_get_surface ()

cairo_surface_t *
gtk_print_job_get_surface (GtkPrintJob *job,
                           GError **error);

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

Parameters

job

a GtkPrintJob

 

error

return location for errors, or NULL.

[allow-none]

Returns

the cairo surface of job .

[transfer none]

Since: 2.10


gtk_print_job_send ()

void
gtk_print_job_send (GtkPrintJob *job,
                    GtkPrintJobCompleteFunc callback,
                    gpointer user_data,
                    GDestroyNotify dnotify);

Sends the print job off to the printer.

Parameters

job

a GtkPrintJob

 

callback

function to call when the job completes or an error occurs

 

user_data

user data that gets passed to callback

 

dnotify

destroy notify for user_data

 

Since: 2.10


gtk_print_job_set_track_print_status ()

void
gtk_print_job_set_track_print_status (GtkPrintJob *job,
                                      gboolean track_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. This can allow your application to show things like "out of paper" issues, and when the print job actually reaches the printer.

This function is often implemented using some form of polling, so it should not be enabled unless needed.

Parameters

job

a GtkPrintJob

 

track_status

TRUE to track status after printing

 

Since: 2.10


gtk_print_job_get_track_print_status ()

gboolean
gtk_print_job_get_track_print_status (GtkPrintJob *job);

Returns wheter jobs will be tracked after printing. For details, see gtk_print_job_set_track_print_status().

Parameters

job

a GtkPrintJob

 

Returns

TRUE if print job status will be reported after printing

Since: 2.10

Types and Values

struct GtkPrintJob

struct GtkPrintJob;

The GtkPrintJob struct contains only private members and should not be directly accessed.

Property Details

The “page-setup” property

  “page-setup”               GtkPageSetup *

Page Setup.

Flags: Read / Write / Construct Only


The “printer” property

  “printer”                  GtkPrinter *

Printer to print the job to.

Flags: Read / Write / Construct Only


The “settings” property

  “settings”                 GtkPrintSettings *

Printer settings.

Flags: Read / Write / Construct Only


The “title” property

  “title”                    gchar *

Title of the print job.

Flags: Read / Write / Construct Only

Default value: NULL


The “track-print-status” property

  “track-print-status”       gboolean

TRUE if the print job will continue to emit status-changed signals after the print data has been sent to the printer or print server.

Flags: Read / Write

Default value: FALSE

Signal Details

The “status-changed” signal

void
user_function (GtkPrintJob *job,
               gpointer     user_data)

Gets emitted when the status of a job changes. The signal handler can use gtk_print_job_get_status() to obtain the new status.

Parameters

job

the GtkPrintJob object on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.10