|  |  | GTK+ Reference Manual |
Top | Description | Object Hierarchy | Properties | Signals

## GtkPrintJob

GtkPrintJob — Представляет задание печати

## Коаткое описание

    #include <gtk/gtk.h>

                GtkPrintJob;
    void        (*GtkPrintJobCompleteFunc)      (GtkPrintJob *print_job,
                                                 gpointer user_data,
                                                 GError *error);
    GtkPrintJob* gtk_print_job_new              (const gchar *title,
                                                 GtkPrinter *printer,
                                                 GtkPrintSettings *settings,
                                                 GtkPageSetup *page_setup);
    GtkPrintSettings* gtk_print_job_get_settings
                                                (GtkPrintJob *job);
    GtkPrinter* gtk_print_job_get_printer       (GtkPrintJob *job);
    const gchar* gtk_print_job_get_title        (GtkPrintJob *job);
    GtkPrintStatus gtk_print_job_get_status     (GtkPrintJob *job);
    gboolean    gtk_print_job_set_source_file   (GtkPrintJob *job,
                                                 const gchar *filename,
                                                 GError **error);
    cairo_surface_t* gtk_print_job_get_surface  (GtkPrintJob *job,
                                                 GError **error);
    gboolean    gtk_print_job_send              (GtkPrintJob *job,
                                                 GtkPrintJobCompleteFunc callback,
                                                 gpointer user_data,
                                                 GDestroyNotify dnotify,
                                                 GError **error);

## Иерархия объектов

      GObject
       +----GtkPrintJob

## Свойства

      "page-setup"           GtkPageSetup          : Read / Write / Construct Only
      "printer"              GtkPrinter            : Read / Write / Construct Only
      "settings"             GtkPrintSettings      : Read / Write / Construct Only
      "title"                gchararray            : Read / Write / Construct Only

## Сигналы

    "status-changed"
                void        user_function      (GtkPrintJob *job,
                                                gpointer     user_data)      : Run last

## Описание

Объект GtkPrintJob представляет задание которое посылается на принтер. Вам придётся иметь дело непосредственно с заданием печати, если вы используете не переносимый (non-portable) GtkPrintUnixDialog API.

Используйте `gtk_print_job_get_surface()` для определения внешнего вида cairo в котором должны отображаться страницы. Для отправки последнего задания на принтер используйте `gtk_print_job_send()`. Если вы не используете cairo GtkPrintJob также поддерживает печать самостоятельно сгенерированного postscript, через `gtk_print_job_set_source_file()`.

Печать поддерживается начиная с версии GTK+ 2.10.

## Детали

### GtkPrintJob

    typedef struct _GtkPrintJob GtkPrintJob;

### GtkPrintJobCompleteFunc ()

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

`print_job` : |
`user_data` : |
`error` : |

### gtk_print_job_new ()

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

Создаёт новый GtkPrintJob.

`title` : | Заголовок задания
`printer` : | GtkPrinter
`settings` : | GtkPrintSettings
`page_setup` : | GtkPageSetup
Возвращает: | новый GtkPrintJob

Начиная с версии 2.10

### gtk_print_job_get_settings ()

    GtkPrintSettings* gtk_print_job_get_settings
                                                (GtkPrintJob *job);

Определяет GtkPrintSettings задания печати.

`job` : | GtkPrintJob
Возвращает: | настройки `job`

Начиная с версии 2.10

### gtk_print_job_get_printer ()

    GtkPrinter* gtk_print_job_get_printer       (GtkPrintJob *job);

Определяет GtkPrinter задания печати.

`job` : | GtkPrintJob
Возвращает: | Принтер для `job`

Начиная с версии 2.10

### gtk_print_job_get_title ()

    const gchar* gtk_print_job_get_title        (GtkPrintJob *job);

Определяет заголовок задания.

`job` : | GtkPrintJob
Возвращает: | Заголовок для `job`

Начиная с версии 2.10

### gtk_print_job_get_status ()

    GtkPrintStatus gtk_print_job_get_status     (GtkPrintJob *job);

Определяет статус задания печати.

`job` : | GtkPrintJob
Возвращает: | статус `job`

Начиная с версии 2.10

### gtk_print_job_set_source_file ()

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

Создаёт GtkPrintJob отправляя существующий документ в систему печати. Файл должен быть в формате понятном для системы печати (обычно PostScript, но на некоторых платформах поддерживается также PDF).

`job` : | GtkPrintJob
`filename` : | Файл для печати
`error` : | ошибки
Возвращает: | `FALSE` если произошла ошибка

Начиная с версии 2.10

### gtk_print_job_get_surface ()

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

Определяет внешний вид cairo в котором страницы задания печати должны быть представлены.

`job` : | GtkPrintJob
`error` : | ошибки, или `NULL`
Возвращает: | Внешний вид cairo для `job`

Начиная с версии 2.10

### gtk_print_job_send ()

    gboolean    gtk_print_job_send              (GtkPrintJob *job,
                                                 GtkPrintJobCompleteFunc callback,
                                                 gpointer user_data,
                                                 GDestroyNotify dnotify,
                                                 GError **error);

Отправляет задания печати на принтер.

`job` : | GtkPrintJob
`callback` : | Функция вызываемая при выполнении задания
`user_data` : | Данные помещаемые в `callback`
`dnotify` : | Разрушающее уведомление для `user_data`
`error` : | ошибки, или `NULL`
Возвращает: | `FALSE` если произошла ошибка

Начиная с версии 2.10

## Детали свойств

### Свойство "`page-setup`"

      "page-setup"           GtkPageSetup          : Read / Write / Construct Only

Параметры страницы.

### Свойство "`printer`"

      "printer"              GtkPrinter            : Read / Write / Construct Only

Принтер для выполнения задания печати.

### Свойство "`settings`"

      "settings"             GtkPrintSettings      : Read / Write / Construct Only

Настройки принтера.

### Свойство "`title`"

      "title"                gchararray            : Read / Write / Construct Only

Заголовок задания печати.

Значение по умолчанию: NULL

## Детали сигналов

### Сигнал "status-changed"

    void        user_function                  (GtkPrintJob *job,
                                                gpointer     user_data)      : Run last

Издаётся при изменении статуса задания печати. Обработчик сигнала может использовать `gtk_print_job_get_status()` для определения нового статуса.

`job` : | GtkPrintJob объект на котором издаётся сигнал
`user_data` : | Данные устанавливаемые при подключении обработчика сигнала.

Начиная с версии 2.10