我有一個顯示圖像的應用程序。 我希望能夠打印圖片,但我無法確定如何將圖像發送到打印機。 我遇到了gtk.PrintOperation,但是我什麼也沒看,不知道我要打印什麼圖像文件(所以我有一個空白頁)。如何用pygtk打印圖像
是否有人知道如何設置數據打印與pygtk,也許gtk.PrintOperation?
我有一個顯示圖像的應用程序。 我希望能夠打印圖片,但我無法確定如何將圖像發送到打印機。 我遇到了gtk.PrintOperation,但是我什麼也沒看,不知道我要打印什麼圖像文件(所以我有一個空白頁)。如何用pygtk打印圖像
是否有人知道如何設置數據打印與pygtk,也許gtk.PrintOperation?
在gtk.PrintOperation
在網頁繪畫必須連接"draw-page"
到獲得PrintOperation
目標函數,context
因爲你可以通過開羅和攀高庫和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()
非常感謝的提示!
我沒有隻PNG圖像,所以我不得不去適應這樣的代碼:再次
def print_page(self,print_dialog, context, n):
ctx = context.get_cairo_context()
gdkcr = gtk.gdk.CairoContext(ctx)
gdkcr.set_source_pixbuf(self.getPixbuf(), 0,0)
gdkcr.paint()
def print_image(self):
print_dialog = gtk.PrintOperation()
print_dialog.set_n_pages(1)
print_dialog.connect("draw-page", self.print_page)
感謝。