2013-12-11 4 views
0

Может кто-нибудь помочь мне интегрировать документ MS Word в другой. Я могу открывать, редактировать и сохранять, но только с одним документом MS Word.Вставьте часть файла .doc .docx в другую с помощью Apache POI HWPF или XWPF

Мой простой код только создает, редактирует и сохраняет .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 ПУНКТА)?

+0

Вы говорите, вы хотите взять текст из одного документа и поместить его в другую? – Levenal

+0

Я хочу взять текст из двух документов и поместить его в один. Я не знаю, как комбинировать форматированный текст в коде. – user3090771

+0

С чем вы «форматируете»? Это просто текст из двух разных документов или это что-то особенное? – Levenal

ответ

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(); 

    } 
} 
Смежные вопросы