我在点阵打印机中打印文本,我正在使用swing(JTextArea)及其打印方法。该方法打印整个a4页面,这是过度的,没有任何预定义的页面大小适合我。我希望能够只打印我发送到打印机的内容并停在那里,这样就不会浪费空白来填充a4页面。
将文本发送到“lpt1”有效,但打印机用来打印的字体是无用的(我需要能够设置字体)。
如果需要,代码是这样的。它需要一个字符串,用字符串创建一个JTextArea(ta),然后在其上使用print方法。
(defn print-string
"Uses JtextArea."
[s]
(let [ta (JTextArea. s)]
(.setFont ta (create-font (get-current-font) (get-current-font-size)))
(try
(.print ta nil nil false nil nil false)
(catch Exception _
(.print ta)))))
编辑:我正在添加一个java版本:
public static void print_string(String s) {
JTextArea ta = new JTextArea(s);
ta.setFont(create_font(get_current_font(), get_current_font_size()));
try {
ta.print(null, null, false, null, null, false);
} catch (Exception e) {
ta.print();
}
}