【发布时间】:2011-10-09 20:38:18
【问题描述】:
我有几个(主要是)文本小部件,我想通过标准的“打印...”菜单选项将它们呈现给打印机。一个小部件是 Mono.TextEditor 文档,另一个是 Gtk.TextView。
我现在正在寻找一个非常基本的印刷品,它可能会换行很长,并添加页码。我需要以某种方式自己编写所有这些代码吗?
如果你有指针,那就太好了,尤其是在 C# 中时。
【问题讨论】:
-
您打印了小部件吗?你用了哪些函数?
我有几个(主要是)文本小部件,我想通过标准的“打印...”菜单选项将它们呈现给打印机。一个小部件是 Mono.TextEditor 文档,另一个是 Gtk.TextView。
我现在正在寻找一个非常基本的印刷品,它可能会换行很长,并添加页码。我需要以某种方式自己编写所有这些代码吗?
如果你有指针,那就太好了,尤其是在 C# 中时。
【问题讨论】:
对于换行和对齐,可以使用 pango 布局 选项,如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)。
【讨论】: