我需要使用apache poi创建docx文件,并且需要将其字体设置为Latha。下面是我的代码,但是当我使用setfontfamily(“ Latha”)时它不起作用。 Latha是泰米尔语的字体。

    XWPFDocument document = new XWPFDocument();
    FileOutputStream out = null;
    try {
        out = new FileOutputStream(new File("PageCounter.docx"));
    } catch (FileNotFoundException ex) {
        Logger.getLogger(WordDocCreation.class.getName()).log(Level.SEVERE, null, ex);
    }
    try {
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText(replaceAll2);
        run.setFontFamily("Latha");
        run.setFontSize(10);
        document.write(out);
    } catch (IOException ex) {
        Logger.getLogger(WordDocCreation.class.getName()).log(Level.SEVERE, null, ex);
    }
    try {
        out.close();
    } catch (IOException ex) {
        Logger.getLogger(WordDocCreation.class.getName()).log(Level.SEVERE, null, ex);
    }


Systen正在写入文件,但是unicode文本显示为方框。

最佳答案

这是3.7中的错误:
http://apache-poi.1045710.n5.nabble.com/NPE-setting-font-family-for-a-XWPFRun-td5050524.html

但是正在3.8(目前处于Beta版)中运行:
https://issues.apache.org/bugzilla/show_bug.cgi?id=52288

关于java - 使用poi jar编写docx文件时如何默认设置“Latha”字体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30229214/

10-10 16:52