我更新到Apache FOP的最新版本,因为我已经阅读了对字体的支持已得到改进。
这是我的配置文件(fop.xconf):
<fop version="1.0">
<!-- Strict user configuration -->
<strict-configuration>true</strict-configuration>
<!-- Base URL for resolving relative URLs -->
<base>./</base>
<renderer mime="application/pdf">
<fonts>
<auto-detect/>
</fonts>
</renderer>
</fop>
我在代码中使用的:
private String configurationFile = "/fop/fop.xconf";
...
Fop fop = FopFactory.newInstance(new File(getClass().getResource(configurationFile).toURI()))
.newFop(MimeConstants.MIME_PDF, pdfoutStream);
但是,当我在.xsl文件中定义Arial
时<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Arial" font-size="10pt">
我只收到以下警告:Font "Arial,normal,400" not found. Substituting with "any,normal,400".
我遗失/没有看到任何东西?我尝试添加字体指标而不是使用<auto-detect/>
,但无济于事。 Arial是我系统上的可用字体。
编辑:谢谢,重复的帖子就是我想要的!我配置配置文件的方式不正确。