我有幾個(大部分)文本小部件,我想通過標準的「打印...」菜單選項呈現給打印機。一個小部件是Mono.TextEditor文檔,另一個是Gtk.TextView。將Gtk.Widget打印到打印機的最佳方式是什麼?
我正在尋找一個非常基本的打印現在,這可能會包裝長行,並添加頁碼。我需要以某種方式對所有這些進行編碼嗎?
如果你有指針,那就太好了,特別是如果他們在C#中。
我有幾個(大部分)文本小部件,我想通過標準的「打印...」菜單選項呈現給打印機。一個小部件是Mono.TextEditor文檔,另一個是Gtk.TextView。將Gtk.Widget打印到打印機的最佳方式是什麼?
我正在尋找一個非常基本的打印現在,這可能會包裝長行,並添加頁碼。我需要以某種方式對所有這些進行編碼嗎?
如果你有指針,那就太好了,特別是如果他們在C#中。
對於換行和對齊,可以使用pango Layout 選項,如Python的pygtk/class-pangolayout或C的pango/pango-Layout-Objects所述。請參閱函數pango_layout_set_wrap()和pango_layout_set_justify()。
如果您已在系統上安裝pygtk,請參閱示例代碼例程begin_print,do_page_setup和do_print在文件pygtk-demo/demos/print_editor.py中。 (在我的系統中,目前Python Gtk演示文件目錄的完整路徑是/usr/share/doc/pygtk2-2.17.0/examples/pygtk-demo/demos)
有關打印機設置對話框,請參見gtk-High-level-Printing-API C,或者Python的class-gtkprintoperation。
更新1:我發佈了上面的答案作爲一個新用戶與代表。 1,並且因爲以下消息而必須禁用兩個鏈接:「糟糕!您的答案無法提交,因爲:我們很抱歉,但作爲垃圾郵件阻止機制,新用戶最多隻能發佈兩個超鏈接。超過10個聲望發佈更多超鏈接。「在此更新中,我修復了這些鏈接。
您是否打印小工具?你使用了哪些功能? –
我不得不手動打印文本。請參閱:https://bitbucket.org/ipre/calico/src/master/Source/Calico/Printing.cs –