GtkPrintJob
GtkPrintJob — Представляет задачу печати
Функции
Свойства
| GtkPageSetup * | page-setup | Чтение / Запись / Только для создания |
| GtkPrinter * | printer | Чтение / Запись / Только для создания |
| GtkPrintSettings * | settings | Чтение / Запись / Только для создания |
| char * | title | Чтение / Запись / Только для создания |
| gboolean | track-print-status | Чтение / Запись |
Сигналы
| void | status-changed | Выполняется последним |
Типы и значения
Иерархия объектов
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 | пользовательские данные, переданные в | |
error | объект GError с информацией об ошибке, если отправка задания печати завершилась с ошибкой, иначе |
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 | место для возврата ошибок, или | [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 | пользовательские данные, которые передаются в | [closure] |
dnotify | уведомление о разрушении для |
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 |
|
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] |
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 | длина массива |
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 |
Возвращает
компоновку n-up
gtk_print_job_set_n-up-layout ()
void gtk_print_job_set_n_up_layout (GtkPrintJob *job,GtkNumberUpLayout layout);
Устанавливает настройку компоновки n-up для этой задачи.
Параметры
job | ||
layout | настройка компоновки n-up |
gtk_print_job_get_rotate ()
gboolean
gtk_print_job_get_rotate (GtkPrintJob *job); Получает информацию о том, будет ли задача печататься в повороте.
Параметры
job |
Возвращает
информацию о повороте при печати задачи
gtk_print_job_set_rotate ()
void gtk_print_job_set_rotate (GtkPrintJob *job,gboolean rotate);
Устанавливает, будет ли данная задача печататься в повороте.
Параметры
job | ||
rotate | нужно ли печатать с поворотом |
gtk_print_job_get_collate ()
gboolean
gtk_print_job_get_collate (GtkPrintJob *job); Получает информацию о том, будет ли задача печататься склеенной.
Параметры
job |
Возвращает
информацию о склейке при печати задачи
gtk_print_job_set_collate ()
void gtk_print_job_set_collate (GtkPrintJob *job,gboolean collate);
Устанавливает, будет ли данная задача печататься склеенной.
Параметры
job | ||
collate | будет ли задача печататься склеенной |
gtk_print_job_get_reverse ()
gboolean
gtk_print_job_get_reverse (GtkPrintJob *job); Получает информацию о том, будет ли задача печататься в обратном порядке.
Параметры
job |
Возвращает
информацию о порядке печати задачи (обратном)
gtk_print_job_set_reverse ()
void gtk_print_job_set_reverse (GtkPrintJob *job,gboolean reverse);
Устанавливает, будет ли данная задача печататься в обратном порядке.
Параметры
job | ||
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