Apache POI SetFontFamily - PullRequest
       11

Apache POI SetFontFamily

1 голос
/ 10 февраля 2012

Я пытаюсь создать текстовый документ из Java-приложения и использую стабильную версию 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();
        }
    }

}

Вот исключение:

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?

1 Ответ

2 голосов
/ 10 февраля 2012
...