我尝试使用dotmatrix打印机打印出一张桌子,但它的工作原理却非常糟糕。所以我尝试使用简单的FileWriter打印它:
FileWriter out;
try
{
out = new FileWriter("LPT1:");
out.write(string);
out.flush();
out.close();
}
catch (IOException ex)
{
}
问题是,我还想打印图像和线条(形成一个表格)。如何在不弄乱文本质量的情况下这样做。
答案 0 :(得分:2)
根据您期望的质量,最直接的解决方案是为表格使用一些ASCII伪图形。
column 1 | column 2 | column 3
______________________________
value 11 | value 12 | value 13
value 21 | value 22 | value 23
value 31 | value 32 | value 33
我认为你希望得到表格的实线,你需要以真实的图形模式(而不是打印机的文本模式)打印所有内容。因此我会使用JasperReports
编辑一段代码,显示使用ESC / P打印机控制代码打开/关闭下划线文本打印模式的原理。
final String UNDERLINE_ON = "\u001B\u002D\u0001";
final String UNDERLINE_OFF = "\u001B\u002D\u0000";
final String CRLF = "\r\n";
out.write(UNDERLINE_ON + "column 1 | column 2 | column 3" + UNDERLINE_OFF + CRLF);
out.write("value 11 | value 12 | value 13" + CRLF);
out.write("value 21 | value 22 | value 23" + CRLF);
out.write("value 31 | value 32 | value 33" + CRLF);