Как создать и распечатать документ (на принтере) с помощью Gtk?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как создать и распечатать документ (на принтере) с помощью Gtk?

Сообщение Anonymous »

Я хочу создать документ и распечатать его на принтере с помощью приложения Gtk 3. Я использую Python 3. Вот упрощенный код:

Код: Выделить всё

import gi
import os

gi.require_version("Gtk", "3.0")

from gi.repository import Gtk, Pango

parent = Gtk.Window()

printers = os.popen("lpstat -e").read().strip().split("\n")
print("Available printers: %s" % printers)

printcontext = Gtk.PrintContext()
context = printcontext.create_pango_context()
layout = Pango.Layout.new(context)
layout.set_text("Hello!")
printsettings = Gtk.PrintSettings()
print("Printing to: %s" % printers[0])

printsettings.set_printer(printers[0])
printsettings.set_print_pages(Gtk.PrintPages.ALL)
printoperation = Gtk.PrintOperation().new()
printoperation.set_print_settings(printsettings)
print("Printing result: %s" %
printoperation.run(Gtk.PrintOperationAction.PRINT, parent))
но когда я запускаю его с подключенным принтером, операция отменяется:

Код: Выделить всё

Available printers: ['Canon-MF210-Series', 'HP_Officejet_5740_series_434FB1_']
Printing to: Canon-MF210-Series
Printing result: 
Почему операция PrintOperation отменяется без сообщений об ошибках и как мне добиться правильной печати? Моя система — Ubuntu 20.04.2, если это поможет.

Подробнее здесь: https://stackoverflow.com/questions/689 ... -using-gtk
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»