2009-02-12 34 views
4

我想知道在Java中存在为EPSON Dot Matrix打印机构建报表的实用方式。目前,我正在使用LX300 + II模型。在Java中使用精确布局的点阵快速打印

我知道有基本上使用这种打印机的两种方式:

  1. 作为打字机,直接原始ASCII数据输出到并行端口
  2. 图形印刷,具有图形的字体和精确的定位。

如何使用既快速印刷字体(由提供)和精确定位(由提供)?

我知道这是可以做到的,因为几年前,我得为EPSON FX 2180制作报告,其中包括在Windows中安装了本地打印字体的驱动程序。这可以做到我想要的。

现在我使用的图形报表JasperReports的和工作正常,但我确实有需要在点阵打印机打印出来,快速,过一些报道。 有什么可以替代吗?

回答

1

如果要在点阵式打印机中快速打印,则需要在“纯文本”模式下进行打印。下面的代码对我的作品:

try { 
    // LPT1 is the printer port 
    try (FileWriter out = new FileWriter("LPT1:")) { 
     out.write("String1\nString2\nString3\n"); 
     out.flush(); 
    } 
} catch (IOException e) { 
} 
+0

我应该用什么来替换“LPT1:”?我应该在哪里寻找名字? – William 2013-04-02 14:36:27

0

//用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(); 

打印//它为我工作...