当我从Jasper报告创建PDF时,生成的PDF声明使用“Helvetica”字体,即使它不包含文本。 不幸的是我无法嵌入“Helvetica”字体,因为它不属于Windows字体。 根据PDF / A规则,我需要在PDF文件中嵌入所有字体。
如何从Jasper创建一个未声明使用Helvetica的PDF?
提前谢谢。
的Fabio
答案 0 :(得分:1)
以下是JasperReports图书馆主要设计师Teodor Danciu的解释:
https://community.jaspersoft.com/jasperreports-library/issues/5368
显然,为避免使用Helvetica,您可以创建使用其中一种字体的默认样式。
答案 1 :(得分:0)
你可以尝试一些事情,你看看reportFont元素吗?
<!ELEMENT reportFont EMPTY>
<!ATTLIST reportFont
name CDATA #REQUIRED
isDefault (true | false) "false"
fontName CDATA #IMPLIED
size NMTOKEN #IMPLIED
isBold (true | false) #IMPLIED
isItalic (true | false) #IMPLIED
isUnderline (true | false) #IMPLIED
isStrikeThrough (true | false) #IMPLIED
pdfFontName CDATA #IMPLIED
pdfEncoding CDATA #IMPLIED
isPdfEmbedded (true | false) #IMPLIED
>
但请注意,现在不推荐使用报告字体,因此您可能需要查看样式元素:
<!ELEMENT style (conditionalStyle*)>
<!ATTLIST style
name CDATA #IMPLIED
isDefault (true | false) "false"
...
forecolor CDATA #IMPLIED
isStyledText (true | false) #IMPLIED
fontName CDATA #IMPLIED
fontSize NMTOKEN #IMPLIED
isBold (true | false) #IMPLIED
isItalic (true | false) #IMPLIED
isUnderline (true | false) #IMPLIED
isStrikeThrough (true | false) #IMPLIED
pdfFontName CDATA #IMPLIED
pdfEncoding CDATA #IMPLIED
isPdfEmbedded (true | false) #IMPLIED
pattern CDATA #IMPLIED
isBlankWhenNull (true | false) #IMPLIED
>
pdfFontName应该是您计划使用的字体的名称。这可以是预定义的PDF字体,也可以是类路径中存在的TTF文件的名称。如果您使用的是TTF,请注意isPdfEmbedded指定是否应在PDF文件中包含外部TrueType字体(TTF)文件
问候!