将 Gtk.Widget 打印到打印机的最佳方法是啥?
Posted
技术标签:
【中文标题】将 Gtk.Widget 打印到打印机的最佳方法是啥?【英文标题】:What is the best way to print a Gtk.Widget to the printer?将 Gtk.Widget 打印到打印机的最佳方法是什么? 【发布时间】:2011-10-09 20:38:18 【问题描述】:我有几个(主要是)文本小部件,我想通过标准的“打印...”菜单选项将它们呈现给打印机。一个小部件是 Mono.TextEditor 文档,另一个是 Gtk.TextView。
我现在正在寻找一个非常基本的印刷品,它可能会换行很长,并添加页码。我需要以某种方式自己编写所有这些代码吗?
如果你有指针,那就太好了,尤其是在 C# 中时。
【问题讨论】:
您打印了小部件吗?你用了哪些函数? 我不得不手动打印文本。见:bitbucket.org/ipre/calico/src/master/Source/Calico/Printing.cs 【参考方案1】:对于换行和对齐,可以使用 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)。
【讨论】:
以上是关于将 Gtk.Widget 打印到打印机的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章