Spec-Zone.ru › GTK 4.0

GtkPrintJob

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

Функции

void (*GtkPrintJobCompleteFunc) ()
GtkPrintJob * gtk_print_job_new ()
GtkPrintSettings * gtk_print_job_get_settings ()
GtkPrinter * gtk_print_job_get_printer ()
const char * gtk_print_job_get_title ()
GtkPrintStatus gtk_print_job_get_status ()
gboolean gtk_print_job_set_source_file ()
gboolean gtk_print_job_set_source_fd ()
cairo_surface_t * gtk_print_job_get_surface ()
void gtk_print_job_send ()
void gtk_print_job_set_track_print_status ()
gboolean gtk_print_job_get_track_print_status ()
GtkPrintPages gtk_print_job_get_pages ()
void gtk_print_job_set_pages ()
GtkPageRange * gtk_print_job_get_page_ranges ()
void gtk_print_job_set_page_ranges ()
GtkPageSet gtk_print_job_get_page_set ()
void gtk_print_job_set_page_set ()
int gtk_print_job_get_num_copies ()
void gtk_print_job_set_num_copies ()
double gtk_print_job_get_scale ()
void gtk_print_job_set_scale ()
guint gtk_print_job_get_n_up ()
void gtk_print_job_set_n-up ()
GtkNumberUpLayout gtk_print_job_get_n-up_layout ()
void gtk_print_job_set_n-up-layout ()
gboolean gtk_print_job_get_rotate ()
void gtk_print_job_set_rotate ()
gboolean gtk_print_job_get_collate ()
void gtk_print_job_set_collate ()
gboolean gtk_print_job_get_reverse ()
void gtk_print_job_set_reverse ()

Свойства

GtkPageSetup * page-setup Чтение / Запись / Только для создания
GtkPrinter * printer Чтение / Запись / Только для создания
GtkPrintSettings * settings Чтение / Запись / Только для создания
char * title Чтение / Запись / Только для создания
gboolean track-print-status Чтение / Запись

Сигналы

void status-changed Выполняется последним

Типы и значения

GtkPrintJob

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

    GObject
    ╰── GtkPrintJob

Файлы заголовков

#include <gtk/gtkunixprint.h>

Описание

Объект GtkPrintJob представляет задачу, которая отправляется на принтер. Вам нужно взаимодействовать с задачами печати напрямую только в случае использования непортабельного API GtkPrintUnixDialog.

Используйте gtk_print_job_get_surface(), чтобы получить поверхность cairo, на которую необходимо нарисовать страницы. Используйте gtk_print_job_send(), чтобы отправить готовую задачу на принтер. Если вы не используете cairo, GtkPrintJob также поддерживает печать вручную сгенерированных PostScript-файлов с помощью gtk_print_job_set_source_file().

Функции

GtkPrintJobCompleteFunc ()

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

Тип обратного вызова, который передаётся в gtk_print_job_send(). Вызывается, когда задание печати полностью отправлено.

Параметры

print_job

задание печати GtkPrintJob

user_data

пользовательские данные, переданные в gtk_print_job_send()

error

объект GError с информацией об ошибке, если отправка задания печати завершилась с ошибкой, иначе NULL

gtk_print_job_new ()

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

Создаёт новое задание печати GtkPrintJob.

Параметры

title

название задания

printer

объект GtkPrinter

settings

объект GtkPrintSettings

page_setup

объект GtkPageSetup

Возвращает

новое задание печати GtkPrintJob

gtk_print_job_get_settings ()

GtkPrintSettings *
gtk_print_job_get_settings (GtkPrintJob *job);

Получает настройки печати GtkPrintSettings задания.

Параметры

job

объект GtkPrintJob

Возвращает

настройки job.

[transfer none]

gtk_print_job_get_printer ()

GtkPrinter *
gtk_print_job_get_printer (GtkPrintJob *job);

Получает принтер GtkPrinter задания.

Параметры

job

объект GtkPrintJob

Возвращает

принтер job.

[transfer none]

gtk_print_job_get_title ()

const char *
gtk_print_job_get_title (GtkPrintJob *job);

Получает название задания.

Параметры

job

объект GtkPrintJob

Возвращает

название job

gtk_print_job_get_status ()

GtkPrintStatus
gtk_print_job_get_status (GtkPrintJob *job);

Получает статус задания печати.

Параметры

job

объект GtkPrintJob

Возвращает

статус job

gtk_print_job_set_source_file ()

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

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

Параметры

job

объект GtkPrintJob

filename

файл для печати.

[type filename]

error

место для возврата ошибок

Возвращает

FALSE в случае ошибки

gtk_print_job_set_source_fd ()

gboolean
gtk_print_job_set_source_fd (GtkPrintJob *job,
                             int fd,
                             GError **error);

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

Аналогично gtk_print_job_set_source_file(), но принимает открытый дескриптор файла вместо имени файла.

Параметры

job

объект GtkPrintJob

fd

дескриптор файла

error

место для возврата ошибок

Возвращает

FALSE в случае ошибки

gtk_print_job_get_surface ()

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

Получает поверхность cairo, на которую должны быть отрисованы страницы задания печати.

Параметры

job

объект GtkPrintJob

error

место для возврата ошибок, или NULL.

[allow-none]

Возвращает

поверхность cairo объекта job.

[transfer none]

gtk_print_job_send ()

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

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

Параметры

job

объект GtkPrintJob

callback

функция, которая вызывается при завершении задания или возникновении ошибки

user_data

пользовательские данные, которые передаются в callback.

[closure]

dnotify

уведомление о разрушении для user_data

gtk_print_job_set_track_print_status ()

void
gtk_print_job_set_track_print_status (GtkPrintJob *job,
                                      gboolean track_status);

Если параметр track_status равен TRUE, задание печати будет пытаться продолжить отслеживание статуса задания печати в очередях принтера и в самом принтере. Это позволяет вашему приложению отображать такие проблемы, как «бумага закончилась», и когда задание печати фактически достигает принтера.

Эта функция часто реализуется с помощью некоторой формы опроса, поэтому её следует включать только в случае необходимости.

Параметры

job

объект GtkPrintJob

track_status

TRUE для отслеживания статуса после печати

gtk_print_job_get_track_print_status ()

gboolean
gtk_print_job_get_track_print_status (GtkPrintJob *job);

Возвращает, будут ли отслеживаться задания после печати. Подробнее см. gtk_print_job_set_track_print_status().

Параметры

job

объект GtkPrintJob

Возвращает

TRUE если статус задания печати будет сообщён после печати

gtk_print_job_get_pages ()

GtkPrintPages
gtk_print_job_get_pages (GtkPrintJob *job);

Получает значение параметра GtkPrintPages для данного задания.

Параметры

job

объект GtkPrintJob

Возвращает

значение параметра GtkPrintPages

gtk_print_job_set_pages ()

void
gtk_print_job_set_pages (GtkPrintJob *job,
                         GtkPrintPages pages);

Устанавливает значение параметра GtkPrintPages для данного задания.

Параметры

job

объект GtkPrintJob

pages

значение параметра GtkPrintPages

gtk_print_job_get_page_ranges ()

GtkPageRange *
gtk_print_job_get_page_ranges (GtkPrintJob *job,
                               int *n_ranges);

Получает диапазоны страниц для данного задания.

Параметры

job

объект GtkPrintJob

n_ranges

место для возврата количества диапазонов.

[out]

Возвращает

указатель на массив структур GtkPageRange.

[array length=n_ranges][transfer none]

gtk_print_job_set_page_ranges ()

void
gtk_print_job_set_page_ranges (GtkPrintJob *job,
                               GtkPageRange *ranges,
                               int n_ranges);

Устанавливает диапазоны страниц для данного задания.

Параметры

job

объект GtkPrintJob

ranges

указатель на массив структур GtkPageRange.

[array length=n_ranges][transfer full]

n_ranges

длина массива ranges

gtk_print_job_get_page_set ()

GtkPageSet
gtk_print_job_get_page_set (GtkPrintJob *job);

Получает значение параметра GtkPageSet для данного задания.

Параметры

job

объект GtkPrintJob

Возвращает

значение параметра GtkPageSet

gtk_print_job_set_page_set ()

void
gtk_print_job_set_page_set (GtkPrintJob *job,
                            GtkPageSet page_set);

Устанавливает значение параметра GtkPageSet для данного задания.

Параметры

job

объект GtkPrintJob

page_set

значение параметра GtkPageSet

gtk_print_job_get_num_copies ()

int
gtk_print_job_get_num_copies (GtkPrintJob *job);

Получает количество копий данного задания.

Параметры

job

объект GtkPrintJob

Возвращает

количество копий

gtk_print_job_set_num_copies ()

void
gtk_print_job_set_num_copies (GtkPrintJob *job,
                              int num_copies);

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

Параметры

job

объект GtkPrintJob

num_copies

количество копий

gtk_print_job_get_scale ()

double
gtk_print_job_get_scale (GtkPrintJob *job);

Получает масштаб для данного задания (где 1.0 означает без масштабирования).

Параметры

job

объект GtkPrintJob

Возвращает

масштаб

gtk_print_job_set_scale ()

void
gtk_print_job_set_scale (GtkPrintJob *job,
                         double scale);

Устанавливает масштаб для данного задания (где 1.0 означает без масштабирования).

Параметры

job

объект GtkPrintJob

scale

масштаб

gtk_print_job_get_n-up ()

guint
gtk_print_job_get_n_up (GtkPrintJob *job);

Получает значение параметра n-up для данного задания.

Параметры

job

объект GtkPrintJob

Возвращает

значение параметра n-up

gtk_print_job_set_n-up ()

void
gtk_print_job_set_n_up (GtkPrintJob *job,
                        guint n_up);

Устанавливает значение параметра n-up для данного задания.

Параметры

job

объект GtkPrintJob

n_up

значение n-up

gtk_print_job_get_n_up_layout ()

GtkNumberUpLayout
gtk_print_job_get_n_up_layout (GtkPrintJob *job);

Получает настройку компоновки n-up для этой задачи.

Параметры

job

a GtkPrintJob

Возвращает

компоновку n-up

gtk_print_job_set_n-up-layout ()

void
gtk_print_job_set_n_up_layout (GtkPrintJob *job,
                               GtkNumberUpLayout layout);

Устанавливает настройку компоновки n-up для этой задачи.

Параметры

job

a GtkPrintJob

layout

настройка компоновки n-up

gtk_print_job_get_rotate ()

gboolean
gtk_print_job_get_rotate (GtkPrintJob *job);

Получает информацию о том, будет ли задача печататься в повороте.

Параметры

job

a GtkPrintJob

Возвращает

информацию о повороте при печати задачи

gtk_print_job_set_rotate ()

void
gtk_print_job_set_rotate (GtkPrintJob *job,
                          gboolean rotate);

Устанавливает, будет ли данная задача печататься в повороте.

Параметры

job

a GtkPrintJob

rotate

нужно ли печатать с поворотом

gtk_print_job_get_collate ()

gboolean
gtk_print_job_get_collate (GtkPrintJob *job);

Получает информацию о том, будет ли задача печататься склеенной.

Параметры

job

a GtkPrintJob

Возвращает

информацию о склейке при печати задачи

gtk_print_job_set_collate ()

void
gtk_print_job_set_collate (GtkPrintJob *job,
                           gboolean collate);

Устанавливает, будет ли данная задача печататься склеенной.

Параметры

job

a GtkPrintJob

collate

будет ли задача печататься склеенной

gtk_print_job_get_reverse ()

gboolean
gtk_print_job_get_reverse (GtkPrintJob *job);

Получает информацию о том, будет ли задача печататься в обратном порядке.

Параметры

job

a GtkPrintJob

Возвращает

информацию о порядке печати задачи (обратном)

gtk_print_job_set_reverse ()

void
gtk_print_job_set_reverse (GtkPrintJob *job,
                           gboolean reverse);

Устанавливает, будет ли данная задача печататься в обратном порядке.

Параметры

job

a GtkPrintJob

reverse

нужно ли печатать в обратном порядке

Типы и значения

GtkPrintJob

typedef struct _GtkPrintJob GtkPrintJob;

Подробности свойств

Свойство “page-setup”

  “page-setup”               GtkPageSetup *

Настройка страницы.

Владелец: GtkPrintJob

Флаги: Чтение / Запись / Только для создания

Свойство “printer”

  “printer”                  GtkPrinter *

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

Владелец: GtkPrintJob

Флаги: Чтение / Запись / Только для создания

Свойство “settings”

  “settings”                 GtkPrintSettings *

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

Владелец: GtkPrintJob

Флаги: Чтение / Запись / Только для создания

Свойство “title”

  “title”                    char *

Название задания на печать.

Владелец: GtkPrintJob

Флаги: Чтение / Запись / Только для создания

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

Свойство “track-print-status”

  “track-print-status”       gboolean

Истина, если задание на печать будет продолжать генерировать сигналы изменения состояния после отправки данных печати на принтер или сервер печати.

Владелец: GtkPrintJob

Флаги: Чтение / Запись

Значение по умолчанию: ЛОЖЬ

Подробности сигналов

Сигнал “status-changed”

void
user_function (GtkPrintJob *job,
               gpointer     user_data)

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

Параметры

job

объект GtkPrintJob, на котором был выпущен сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Выполняется последним

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkPrintJob.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API