ApachePOI在Java11环境下因缺少fontconfig而在创建工作表时失败。
创始人
2024-09-06 09:30:08
0

在 Java 11 中,Apache POI 在创建工作表时需要 fontconfig 支持。解决方法是安装并配置 fontconfig。

以下是配置 fontconfig 的示例代码:

import java.nio.file.*;
import org.apache.fop.*;
import org.apache.fop.fonts.*;
import org.slf4j.*;

public class FontConfigUtil {
    private static final Logger LOGGER = LoggerFactory.getLogger(FontConfigUtil.class);
    private static boolean fontConfigLoaded = false;

    public static synchronized void loadFontConfig() {
        if (fontConfigLoaded) {
            return;
        }
        LOGGER.debug("Loading fontconfig...");
        try {
            Path fontConfig = Paths.get("/etc/fonts/fonts.conf");
            if (Files.notExists(fontConfig)) {
                LOGGER.warn("Unable to find fontconfig file at {}", fontConfig);
                return;
            }
            FopFactory fopFactory = FopFactory.newInstance(new URI("."));           
            FontManager fontManager = fopFactory.getFontManager();
            File configFile = new File(fontConfig.toUri());
            fontManager.setUserConfig(configFile);
            fontConfigLoaded = true;
        } catch (Exception ex) {
            LOGGER.error("Error loading fontconfig", ex);
        }
    }
}

在使用 Apache POI 之前,在代码中调用 FontConfigUtil.loadFontConfig() 方法即可。

相关内容

热门资讯

透视玄学!德普之星辅助功能如何... 这是一款非常优秀的德普之星辅助功能如何设置 ia辅助检测软件,能够让你了解到德普之星辅助功能如何设置...
透视规律!德普之星辅助正版,w... 透视规律!德普之星辅助正版,wepoker透视,每日必看教程(有挂详情)德普之星辅助正版辅助器中分为...
透视科技!智星菠萝辅助,智星德... 您好,智星德州菠萝透视插件工具这款游戏可以开挂的,确实是有挂的,需要了解加Q群【1067239143...
透视存在!aapoker透视插... 透视存在!aapoker透视插件,佛手在线有挂吗,必胜教程(原本是有挂);亲,其实确实真的有挂(需添...
透视讲解!红龙poker脚本,... 1、透视讲解!红龙poker脚本,德普之星怎么作弊,大神推荐(有挂教学)。2、德普之星怎么作弊透视辅...
透视模拟器!wepoker作弊... 透视模拟器!wepoker作弊辅助,aapoker透视脚本,安装教程(最初真的是有挂);亲真的是有正...
透视辅助!德普之星辅助功能如何... 您好,德普之星辅助功能如何打开这款游戏可以开挂的,确实是有挂的,需要了解加Q群【1067239143...
透视存在!wepoker透视脚... 大家肯定在之前wepoker透视脚本免费下载或者wepoker透视脚本免费下载中玩过透视存在!wep...
透视数据!智星德州菠萝插件官网... 1、透视数据!智星德州菠萝插件官网,wpk透视辅助方法,普及知识(有挂规律);该软件可以轻松地帮助玩...
透视计算!wpk有没有脚本,w... 透视计算!wpk有没有脚本,wepoker辅助透视软件,详细教程(总是存在有挂)1、让任何用户在无需...