带有Windows 7的点阵式打印机的jasper打印中的字体不清楚

时间:2017-07-02 03:50:14

标签: java printing jasper-reports

我正在使用java开发一个项目,它允许用户通过软件打印发票。我使用jasper报告生成报告,并使用this解决方案中提供的代码和我用于开发的笔记本电脑打印输出正确并正确打印(打印机是EPSON LX-300 + II,操作系统是Windows 8.1)。 但是,当我在客户端计算机(桌面与Windows 7和相同的打印机)中使用编译的jar文件时,打印输出不正确。文字是不可读的,并且它们相互粘连,如下所示。Error print

两台计算机都已正确安装了打印机驱动程序,只有不同的操作系统版本。

我尝试了什么,

  1. 将字体更改为Arial - 但问题是相同的
  2. 通过jasper viewer打印 - 相同
  3. 将报告导出为PDF和word文档并打印 - 这没关系,但是对于要求我需要通过java打印输出
  4. 使用.jrxml文件和.jasper文件 - 但问题是相同的
  5. 所有问题都在Windows 7 PC和Windows 8笔记本电脑打印输出中是正确的。 这有什么问题,任何人都可以帮助解决这个问题吗?

    谢谢。

2 个答案:

答案 0 :(得分:2)

问题是您当前的JRE版本。我有这个问题,我解决了它更新我的JRE版本。您可能需要检查是否在64位计算机上运行32位JRE。

答案 1 :(得分:0)

问题是dotmatrix打印机无法理解您在代码中使用的字体。我遇到了与Windows 7 64位相同的问题。解决方案:为windows下载任何dotmatrix(示例' Doctrice')字体。然后将字体复制到windows"字体"夹。然后在代码/声明中更改字体:

 Font fo = new Font("Doctrice",Font.PLAIN,20);

剩下的就是调整你的dotmatrix打印机首选项'质量。您的打印输出现在将是一个明确的质量。谢谢。