java - Linux 和 Windows 上的 Jasper 是否有通用的字体格式来生成 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定义了以下五个logical font家庭:

  • 对话框
  • 对话框输入
  • 等宽
  • 衬线
  • 无衬线字体

这意味着这些字体在java运行时始终可用,但它们不是实际的字体库,而是由java映射到系统上安装的某些字体。因此,使用任何这些字体都不会导致 java 中出现任何错误。

但是,您要导出为 pdf,其中包含所谓的 Standard Type 1 fonts如您所见,没有匹配项,如果未定义默认字体 Helvetica,iText(创建 pdf 的库)将使用。

结论是,虽然使用逻辑字体不会引发错误,但可能会导致 pdf 中报告不一致(使用其他字体)。

jasper-reports 中的解决方案是使用font-extensions

关于java - Linux 和 Windows 上的 Jasper 是否有通用的字体格式来生成 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39389324/

相关文章:

java - 凭据错误的 POST 请求返回 405 而不是 401

Java 编程 - 如何在数字格式后添加文本?

java - 如何在 BlobStore (Java) 中设置文件名属性?

linux - 如何通过 C 在 Linux(RPi) 中进行音频流处理?

c++ - 当我从 Windows 请求 "Miriam"字体时,我得到一个 "Arial"字体。这怎么可能,因为我的系统中存在字体文件 "mriam.ttf"?

Java简单句解析器

c++ - boost同步服务器客户端编译报错

python - 发送多个带有 "cmd = echo ..."的附件

css - 我应该使用带有字体的 webpack 吗?

html - 如何在 HTML 页面中使用 MICR/E13-B 字体