迄今为止,我一直在使用这个代码的变体来打印由pisa创建的pdf。
这段话摘自pygtk faq:
import gtk
import gtkunixprint
def print_cb(printjob, data, errormsg):
if errormsg:
print('Error occurred while printing:\n%s' % errormsg)
filename = 'the_pdf_file_to_be_printed.pdf'
pud = gtkunixprint.PrintUnixDialog()
response = pud.run()
if response == gtk.RESPONSE_OK:
printer = pud.get_selected_printer()
settings = pud.get_settings()
setup = pud.get_page_setup()
printjob = gtkunixprint.PrintJob('Printing %s' % filename, printer, settings, setup)
printjob.set_source_file(filename)
printjob.send(print_cb)
pud.destroy()
我正在将代码移植到Gtk3 PyObject,但是遇到了问题。
我发现 Gtk.PrintOperation 是解决问题的方法,但是我不知道如何将 print Operation 与 printJob 相关联或者如何传递文件以进行打印。
谢谢。
render_for_printing()
的方法,根据文档,在打印时应该优先选择它而不是render()
,尽管在测试这两种方法时我看不出差别。 - zezollo