java - Apache POI SetFontFamily

标签 java swing apache-poi

我正在尝试从 java 应用程序创建一个 word 文档,并使用 Apache POI 稳定版本 3.7 来实现相同的目的。当我尝试更改段落的字体时,即使字体系列存在,我也会遇到空指针异常。事实上,如果我用任何字体系列调用该函数,它都会给出 npe。代码如下:

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

/**
 *
 * @author william
 */
public class CreateDocumentFromScratch 
{

    public static void main(String[] args) 
    {
        XWPFDocument document = new XWPFDocument();

        XWPFParagraph paragraphOne = document.createParagraph();


        XWPFRun paragraphOneRunOne = paragraphOne.createRun();

        paragraphOneRunOne.setFontFamily("Arial");
        paragraphOneRunOne.setText("Hello");



        FileOutputStream outStream = null;
        try {
            outStream = new FileOutputStream("c:/will/First.docx");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        try {
            document.write(outStream);
            outStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

这里是异常(exception):

run:
Exception in thread "main" java.lang.NullPointerException
    at org.apache.poi.xwpf.usermodel.XWPFRun.setFontFamily(XWPFRun.java:413)
    at pdftest.CreateDocumentFromScratch.main(CreateDocumentFromScratch.java:30)

知道我做错了什么吗?另外,Apache POI 创建格式化 Word 文档的可靠性如何?

最佳答案

关于java - Apache POI SetFontFamily,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225307/

相关文章:

java - 即时写入大字节数组(因此内存不会成为问题)

java - 如何根据JPanel的大小设置JTextPane的大小?

java - JFrame - 在一个 JFrame 中使用多个面板是一种好的做法吗?

java - 将自定义形状添加到 JTextpane 并保存到新的 Word 文档

apache-poi - Apache POI 如何添加页码

java - 停止并重新运行自身内部的线程

java - 实体管理器 @Enumerated(EnumType.STRING) - 如何让它使用 toString()?

java - 为什么在 Java 中的类名周围使用括号?

java - Java中的动态文本框

java - 使用java POI打印excel中的数据