Быстрая печать с точечной матрицей на Java - PullRequest
4 голосов
/ 13 февраля 2009

Я хотел бы знать, какой практический способ построения отчетов для принтеров EPSON Dot Matrix существует в Java. В настоящее время у меня есть модель LX300 + II, с которой можно поиграть.

Я знаю, что есть два основных способа использования этого принтера:

  1. Как пишущая машинка, выводит непосредственно необработанные данные ASCII на параллельный порт
  2. Графическая печать, с графическими шрифтами и точным позиционированием.

Как использовать шрифты быстрой печати (предоставляемые 1 ) и точное позиционирование (предоставляется 2 )?

Я знаю, что это можно сделать, потому что пару лет назад мне приходилось делать отчеты для EPSON FX 2180, в который входили драйверы с собственными шрифтами печати, установленными в Windows. Это позволило делать именно то, что я хочу здесь.

Сейчас я использую JasperReports для графической отчетности и работает нормально, но у меня есть некоторые отчеты, что нужно для печати на матричных принтерах и fast тоже. Что может быть альтернативой этому?

Ответы [ 3 ]

2 голосов
/ 13 февраля 2009

Будет ли TextPrinter соответствовать вашим потребностям?

1 голос
/ 29 июля 2012

Если вы хотите быстро печатать на матричных принтерах, вам нужно сделать это в режиме обычного текста. У меня работает следующий код:

try {
    // LPT1 is the printer port
    try (FileWriter out = new FileWriter("LPT1:")) {
        out.write("String1\nString2\nString3\n");
        out.flush();
    }
} catch (IOException e) {
}
0 голосов
/ 20 апреля 2016

// печать 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();

// у меня это работает ...

...