python - 如何使用pygtk打印图像

标签 python printing pygtk

我有一个显示图像的应用程序。 我希望能够打印图片,但我不知道如何将图像发送到打印机。 我遇到了gtk.PrintOperation ,但我没有看到任何信息来告诉我要打印哪个图像文件(所以我有一个空白页)。

有谁知道如何设置要使用 pygtk 或 gtk.PrintOperation 打印的数据?

最佳答案

gtk.PrintOperation 中,要在页面中进行绘制,您必须将 "draw-page" 连接到获取 PrintOperation 对象的函数,该对象是一个 context作为参数,可以通过cairopango库绘制页面,page_number作为第三个参数,绘制页面通过这个函数,类似如下:

def print_page(print_dialog, context, n):
    ctx = context.get_cairo_context()
    img = cairo.ImageSurface.create_from_png("an-image.png")
    cr.set_source_surface(img, 20, 20)
    cr.paint()

print_dialog = gtk.PrintOperation()
print_dialog.set_default_page_setup(self.print_page_setup)
print_dialog.set_unit(gtk.Unit.POINTS)
print_dialog.set_n_pages(1)
print_dialog.set_export_filename("/path/to/export/file.pdf")
print_dialog.connect("draw-page", print_page)

win = gtk.Window()
win.connect('clicked', lambda widget: print_dialog.run())
win.set_size_request(200, 200)
win.show_all()
gtk.main()

Read more...

关于python - 如何使用pygtk打印图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31144157/

相关文章:

python - 如何构建包含cv模块的exe文件

python - Pandas 在 1 个图的 11 个图中绘制 22 个系列

c - 打印两个 double 的答案给出答案 0.00

javascript - 使用 Electron 应用程序进行原始打印

css - 通过 CSS 将图像更改为文本以进行打印?

python - PyGTK 阻塞非 GUI 线程

python - Python 是否保留对在列表中打开的文件的引用?

python - NetworkX - 生成随机连接的二分图

python - 如何使用python在sqlite数据库中存储jpg

gtk - 你如何旋转 gtk 小部件?