将Gtk.Widget打印到打印机的最佳方法是什么?

时间:2011-07-21 00:59:51

标签: printing mono gtk

我有几个(大多数)文本小部件,我想通过标准的“打印...”菜单选项呈现给打印机。一个小部件是Mono.TextEditor文档,另一个是Gtk.TextView。

我现在正在寻找一个非常基本的打印,它可能会包装长行,并添加页码。我是否需要以某种方式编写所有这些代码?

如果你有指针,这将是很好的,特别是如果他们在C#。

1 个答案:

答案 0 :(得分:3)

对于换行和对齐,可以使用pango Layout 选项,如pygtk/class-pangolayout中的Python或pango/pango-Layout-Objects处的C所述。请参阅函数pango_layout_set_wrap()和pango_layout_set_justify()。

如果您在系统上安装了pygtk,请参阅文件pygtk-demo / demos / print_editor.py中的示例代码例程begin_print,do_page_setup和do_print。 (在我的系统上,Python Gtk演示文件目录的完整路径目前是/usr/share/doc/pygtk2-2.17.0/examples/pygtk-demo/demos)

对于打印机设置对话框,请参阅gtk-High-level-Printing-API了解C,或class-gtkprintoperation了解Python。

更新1:我将上面的答案作为具有rep的新用户发布。 1,并且由于以下消息不得不禁用两个链接:“哎呀!你的答案无法提交,因为:我们很抱歉,但作为垃圾邮件防范机制,新用户最多只能发布两个超链接。赚取更多超过10个声望发布更多超链接。“在此更新中,我修复了链接。