简单几步解决
第一步构建一个字体库的xml文件 其中<auto-detect/>表示自动检索系统字体
<?xml version="1.0" encoding="UTF-8"?>
<fop version="1.1">
<fonts>
<directory recursive="true">C:\Windows\Fonts</directory>
<auto-detect/>
</fonts>
</fop>
第二步在代码中调用这配置文件 使得配置生效
final static PDFTranscoder transcoder = new PDFTranscoder();
static {
InputStream confStream =PdfToolkit.class.getResourceAsStream("FopFontConfig.xml");
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
DefaultConfiguration cfg;
try {
cfg = cfgBuilder.build(confStream);
transcoder.configure(cfg);
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
然后就可以解决Apache Batik+FOP不能识别SVG中文的问题