用Java实现精确排版的点阵快速打印
我想知道Java中存在什么样的为EPSON点阵打印机构造报表的实用方法。此时,我正在使用LX300+II模型 我知道使用这台打印机基本上有两种方法:用Java实现精确排版的点阵快速打印,java,printing,reporting,legacy,dot-matrix,Java,Printing,Reporting,Legacy,Dot Matrix,我想知道Java中存在什么样的为EPSON点阵打印机构造报表的实用方法。此时,我正在使用LX300+II模型 我知道使用这台打印机基本上有两种方法: 作为打字机,直接将原始ASCII数据输出到并行端口 图形打印,具有图形字体和精确定位 如何使用快速打印字体(由1提供)和精确定位字体(由2提供) 我知道这是可能的,因为几年前,我为EPSON FX 2180做了报告,其中包括安装在Windows中的本机打印字体的驱动程序。这正是我想要的 现在我使用JasperReports进行图形报告,效果很好,但
有什么替代方案?可以满足您的需要?如果您想在点阵打印机中快速打印,您需要在“纯文本”模式下进行。以下代码适用于我:
try {
// LPT1 is the printer port
try (FileWriter out = new FileWriter("LPT1:")) {
out.write("String1\nString2\nString3\n");
out.flush();
}
} catch (IOException e) {
}
//用打印机点阵进行java打印
String bill = "your text";
InputStream br = new ByteArrayInputStream(bill.getBytes());
BufferedReader in = new BufferedReader(new InputStreamReader(br));
String line;
//if you use windows
FileWriter out = new FileWriter("////IP Printer//printer name");
//if you use linux you can try SMB:(samba)
while((line = in.readLine()) != null)
{
System.out.println("line"+line);
out.write(line);
out.write(0x0D); CR
out.write('\n');
writer.println(line);
}
out.close();
in.close();
writer.close();
//它对我有用…我应该用什么来替换“LPT1:”?我应该在哪里找名字?