Java linux和windows上的Jasper是否有通用的字体格式来生成pdf?

Java linux和windows上的Jasper是否有通用的字体格式来生成pdf?,java,linux,fonts,jasper-reports,export-to-pdf,Java,Linux,Fonts,Jasper Reports,Export To Pdf,我正在制作jasper报告以生成PDF文件 我的问题是,当我在linux操作系统机器上运行生成PDF的程序时,字体格式异常。我在jasper文件中使用了Times new roman字体格式,而linux操作系统不支持Times new roman,有人可以建议我使用linux和windows操作系统的通用字体格式来创建jasper文件。Java定义了以下五个系列: 对话 对话框输入 等距 衬线 桑塞里夫 这意味着这些字体在java运行时始终可用,但它们不是实际的字体库,而是由java映射到

我正在制作jasper报告以生成PDF文件


我的问题是,当我在linux操作系统机器上运行生成PDF的程序时,字体格式异常。我在jasper文件中使用了Times new roman字体格式,而linux操作系统不支持Times new roman,有人可以建议我使用linux和windows操作系统的通用字体格式来创建jasper文件。

Java定义了以下五个系列:

  • 对话
  • 对话框输入
  • 等距
  • 衬线
  • 桑塞里夫
这意味着这些字体在java运行时始终可用,但它们不是实际的字体库,而是由java映射到系统上安装的某些字体。因此,在java中使用这些字体都不会导致任何错误

但是,您正在导出为pdf,而该pdf具有所谓的内容,因为您可以看到没有匹配项,如果未定义默认字体Helvetica,则将使用iText(创建pdf的库)

结论是,当使用逻辑字体时,它不会抛出错误,这可能导致pdf中的报告不一致(使用另一种字体)


jasper reports中的解决方案是使用字体扩展

如果你想独立于操作系统提供的字体,你需要将自己的字体文件添加到你的应用程序中并使用这些字体。我假设你先使用谷歌-我刚刚使用过,并找到了“jasper字体跨操作系统”,哪一个链接指向的说明-,不起作用吗?非常感谢Petter Friberg。这解决了我的问题,谢谢大家的支持