как вызвать программно диалог свойств принтера в Linux?
От: diamant  
Дата: 14.12.11 06:19
Оценка:
Вопрос в теме. Диалог — это типа того, что на 5ой картинке здесь.
Другими словами, ищу аналог Win32 DocumentProperties().
Искал и не нашёл в: CUPS, wxWidgets, Qt, GTK. В последнем есть собственный диалог — GtkPageSetupUnixDialog, но нужен именно системный, он более подробный.
Re: как вызвать программно диалог свойств принтера в Linux?
От: LuciferSingapore Россия  
Дата: 14.12.11 06:40
Оценка:
Здравствуйте, diamant, Вы писали:

D>Вопрос в теме. Диалог — это типа того, что на 5ой картинке здесь.

D>Другими словами, ищу аналог Win32 DocumentProperties().

Я не знаю, что дедает Win32-функция, а на картинках там скриншоты из утилиты gnome-cups-manager. Поэтому предлагаю запускать ее из своей программы, возможно, она принимает аргументы командной строки, чтобы сразу открыть свойства нужного принтера.
Re[2]: как вызвать программно диалог свойств принтера в Linu
От: fk0 Россия https://fk0.name
Дата: 14.12.11 07:24
Оценка:
Здравствуйте, LuciferSingapore, Вы писали:

LS>Здравствуйте, diamant, Вы писали:


D>>Вопрос в теме. Диалог — это типа того, что на 5ой картинке здесь.

D>>Другими словами, ищу аналог Win32 DocumentProperties().

А у меня нет ubuntu. И cups тоже. Печатаю через lpr и magic-filters. Выводы?
Re[3]: как вызвать программно диалог свойств принтера в Linu
От: LuciferSingapore Россия  
Дата: 14.12.11 07:40
Оценка:
Здравствуйте, fk0, Вы писали:

fk0> А у меня нет ubuntu. И cups тоже. Печатаю через lpr и magic-filters. Выводы?


Вывод простой — программа топикстартера у тебя работать не будет, если ему достаточно поддерживать только Убунту. Либо ему придется знатно повозиться, чтобы работало везде.
Re[2]: как вызвать программно диалог свойств принтера в Linu
От: diamant  
Дата: 14.12.11 09:28
Оценка:
Здравствуйте, LuciferSingapore, Вы писали:

LS>Здравствуйте, diamant, Вы писали:


D>>Вопрос в теме. Диалог — это типа того, что на 5ой картинке здесь.

D>>Другими словами, ищу аналог Win32 DocumentProperties().

LS>Я не знаю, что дедает Win32-функция, а на картинках там скриншоты из утилиты gnome-cups-manager. Поэтому предлагаю запускать ее из своей программы, возможно, она принимает аргументы командной строки, чтобы сразу открыть свойства нужного принтера.


Спасибо! Использовать gnome-cups-manager как утилиту, конечно, не подходит, т.к. это меняло бы свойства принтера на системном уровне, а мне нужно только для своего приложения. Но есть исходники. И кроме gnome-cups-manager заметил на ftp GNOME ещё интересные пакеты, например, libgnomeprintui. Общая идея — запрос списка свойств принтера и создание диалога с соответствующим набором полей. Думаю, это должно покрыть бОльшую часть необходимой функциональности.

А в Win32 всё проще для программера приложений и полноценнее для пользователя. Дело в том, что указанная DocumentProperties() вызывает соответствующую функцию драйвера принтера, которая и показывает диалог свойств принтера — на своё усмотрение.
Re: как вызвать программно диалог свойств принтера в Linux?
От: AleksandrN Россия  
Дата: 20.12.11 07:00
Оценка:
Здравствуйте, diamant, Вы писали:

D>Искал и не нашёл в: CUPS, wxWidgets, Qt, GTK. В последнем есть собственный диалог — GtkPageSetupUnixDialog, но нужен именно системный, он более подробный.


Есть wxPrintDialog и QTPrintDialog
Re[4]: как вызвать программно диалог свойств принтера в Linu
От: fk0 Россия https://fk0.name
Дата: 09.01.12 19:27
Оценка:
Здравствуйте, LuciferSingapore, Вы писали:

fk0>> А у меня нет ubuntu. И cups тоже. Печатаю через lpr и magic-filters. Выводы?

LS>Вывод простой — программа топикстартера у тебя работать не будет, если ему достаточно поддерживать только Убунту. Либо ему придется знатно повозиться, чтобы работало везде.

Ничего возиться не нужно. Если не пытаться перетаскивать понятия отсутствующие в данной ОС с другой ОС. Какой ещё диалог принтеров. Выдавай постскрипт на stdout, сделай в настройках возможность задачи команды печати ("lpr -P printername"). ВСЁ. А cups там или что -- дело десятое. Надо будет пользователю настроить -- пусть настраивает так, как в его системе это принято. Недостаток: не получить какие-то свойства принтера автоматически. Вообще для этого /etc/printcap есть, которые вполне парсится руками. Но можно и без того обойтись, если печать только на A4 всегда.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.