【问题标题】:Dot matrix fast printing with precise layout in JavaJava中具有精确布局的点阵快速打印
【发布时间】:2009-02-12 21:54:49
【问题描述】:

我想知道在 Java 中为 EPSON 点阵打印机构建报告的实用方法。目前,我正在使用 LX300+II 型号。

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

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

如何同时使用快速打印字体(由1提供)和精确定位(由2提供)?

我知道这是可以做到的,因为几年前,我必须为 EPSON FX 2180 制作报告,其中包括在 Windows 中安装的带有本机打印字体的驱动程序。这允许在这里做我想要的。

现在我正在使用 JasperReports 进行图形报告并且工作正常,但我确实有一些报告需要在点阵打印机中打印并且也快速。 有什么可以替代的?

【问题讨论】:

    标签: java printing reporting legacy dot-matrix


    【解决方案1】:

    TextPrinter 会满足您的需求吗?

    【讨论】:

      【解决方案2】:

      如果您想在点阵打印机中快速打印,您需要在“纯文本”模式下进行。以下代码适用于我:

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

      【讨论】:

      • 我应该用什么替换“LPT1:”?我应该在哪里查找名称?
      【解决方案3】:

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

      //它对我有用...

      【讨论】:

        猜你喜欢
        • 2013-05-12
        • 1970-01-01
        • 2012-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-08
        • 1970-01-01
        • 2012-07-14
        相关资源
        最近更新 更多