为什么我收到一条消息说1.not.found.as.a.resource?

时间:2015-07-11 13:25:01

标签: itext itextpdf

可能导致什么

new Font(Font.HELVETICA, 11f, Font.BOLD)

BaseFont.createFont(BaseFont.HELVETICA, 'Cp1252', BaseFont.NOT_EMBEDDED)

开始返回以下内容??

com.itextpdf.text.DocumentException: No message found for 1.not.found.as.resource
Max OSX 10.10上的

itext 5.5.6 jar

1 个答案:

答案 0 :(得分:1)

您似乎没有使用“预先罐装”的罐子,但是您已经创建了自己的罐子。该自制jar仅包含Java类文件。它错过了语言(.lng)和Adobe字体指标(.afm)文件等资源。

如果上述假设是错误的,那么至少这是正确的:

  • 而不是实际的错误消息,您将密钥收到存储在.lng文件中的错误消息:1.not.found.as.resource。此密钥用于查找操作系统语言的实际错误消息(支持英语,荷兰语和葡萄牙语;默认为英语)。
  • 实际的错误消息(应该找到en.lng)应该是:“找不到Helvetica作为资源”1中的1.not.found.as.resource是占位符)。此消息告诉您无法找到文件Helvetica.afm。此文件包含Helvetica(常规)字体中每个字形的度量标准。如果没有这些指标,则无法创建正确的PDF。

这解释了发生了什么。您的问题没有足够的信息来解释为什么发生。当使用正确的jar和JDK知道如何从jar中读取资源时,所有这一切都不应该成为问题。您写“可能导致 ... 开始 返回以下内容”的事实表明它之前已经为您服务。想想你上次工作和第一次停止工作之间的变化(例如,更改操作系统,更改JVM,......)。这可能是罪魁祸首。