java - 如何使用 Epson DotMatrix 打印机打印图像和线条

标签 java printing epson dot-matrix

我尝试使用点阵打印机打印表格,它有效,但文本质量非常差。所以我尝试使用简单的 FileWriter 来打印它:

FileWriter out;
try 
{
    out = new FileWriter("LPT1:");
    out.write(string);
    out.flush();
    out.close();
} 
catch (IOException ex) 
{
}

问题是,我还想打印图像和线条(以形成表格)。如何在不影响文本质量的情况下做到这一点。

最佳答案

根据您期望的质量,最直接的解决方案是为表格使用一些 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);

编辑:上述有关 ESC/P 代码的文档可以通过以下方式访问:

https://web.archive.org/web/20150213082718/http://support.epson.ru/products/manuals/000350/part1.pdf

关于java - 如何使用 Epson DotMatrix 打印机打印图像和线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19313902/

相关文章:

thermal-printer - Epson ePos javascript 与 USB 电缆

java - Jooq 将 String 转换为 BigDecimal

Java:什么被认为更具可读性, "this"或没有 "this"

java - 主类不会读取其他类,使用 SVN 插入的项目

python - 如何从 python Controller 的表单中打印所有 POST 变量

java - 打印 JComponent

java - Java实践中修改字符串

python - 需要在python中找到print或者printf的源码

delphi - 在哪里可以找到 "ESC/POS"Epson 条码测试程序?

在 Epson TM-T88IVM 上打印简体中文字符