私はドット マトリックス プリンターでテキストを印刷しています。スイング ( JTextArea ) とその印刷方法を使用しています。この方法は、a4ページ全体を印刷しますが、これはやり過ぎであり、定義済みのページサイズはどれも機能しません。a4ページを埋めようとして空白を無駄にしないように、プリンターに送信したものだけを印刷してそこで停止できるようにしたいと思います。
テキストを「lpt1」に送信すると機能しますが、プリンターが印刷に使用するフォントは役に立ちません(フォントを設定できる必要があります)。
必要な場合のコードはこれです。文字列 (s) を受け取り、その文字列を使用して 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();
}
}