使用Apache POI HWPF或XWPF将.doc .docx文件插入另一个文件

时间:2013-12-11 11:24:17

标签: java ms-word apache-poi .doc

有人可以帮助我将一些 MS Word 文档整合到另一个文档中。 我可以打开,编辑和保存,但只能使用一个MS Word文档。

我的简单代码仅创建,编辑和保存.docx:

import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;

public class SimpleDocument {

public  void SimpleDocument() throws Exception {
    XWPFDocument doc = new XWPFDocument();

    XWPFParagraph p1 = doc.createParagraph();
    p1.setAlignment(ParagraphAlignment.CENTER);
    p1.setAlignment(ParagraphAlignment.LEFT);//setVerticalAlignment(TextAlignment.TOP);

    XWPFRun r1 = p1.createRun();
    r1.setBold(true);
    r1.setText("The quick brown fox");
    r1.setFontFamily("Courier");
    r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH);

    XWPFParagraph p2 = doc.createParagraph();
    p2.setAlignment(ParagraphAlignment.RIGHT);

    XWPFRun r2 = p2.createRun();
    r2.setText("jumped over the lazy dog");

    FileOutputStream out = new FileOutputStream("C:/simple.docx");
    doc.write(out);
    out.close();

}
}

如何组合两段格式化文本(RANGE,PARAGRAPH)?

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

import java.io.*;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.*;

public class test {
    public static void main(String[] args) throws Exception {
        // POI apparently can't create a document from scratch,
        // so we need an existing empty dummy document
        HWPFDocument doc = new HWPFDocument(new FileInputStream("D:\\src.doc"));
        Range range = doc.getRange();
        CharacterRun run = range
                .insertAfter("Text After copied file contents!");
        run.setBold(true);
        OutputStream out = new FileOutputStream("D:\\result.doc");
        doc.write(out);
        out.flush();
        out.close();

    }
}