Я пишу приложение Python3-Gtk3, которое печатает QR-этикетки на принтере этикеток.До сих пор мой код
...
psize = Gtk.PaperSize.new_custom('Our-QR-Label', 'QR-Label', 29, 42, Gtk.Unit.MM)
pagesetup = Gtk.PageSetup()
pagesetup.set_paper_size(psize)
...
pagesetup.set_orientation(Gtk.PageOrientation.PORTRAIT)
print_dialog = Gtk.PrintOperation()
print_dialog.set_n_pages(len(self.qrcodes))
print_dialog.set_default_page_setup(pagesetup)
print_dialog.connect("draw-page", self.print_page)
print_dialog.run(Gtk.PrintOperationAction.PRINT_DIALOG, None)
...
отображал диалоговое окно принтера с выбранным принтером по умолчанию .Когда пользователь выбирает принтер этикеток и начинает печатать, все работает.
Но поскольку наши пользователи обычно никогда не видят диалоговых окон принтера, они будут сбиты с толку и могут все испортить: - (
Iзнаю, что я могу позвонить
print_dialog.run(Gtk.PrintOperationAction.PRINT, None)
, чтобы обойти диалоговое окно печати, но затем вывод идет на стандартный принтер, что не является желаемым результатом.
Итак: Как я могу предварительно установитьпринтер (по имени) для Gtk.PrintOperation?
PS: я пишу и тестирую свои программы в Linux, но наши пользователи работают в Windows.