2014-11-05 5 views
4

У меня есть этот код:Как вставить изображение в документ Word с помощью Apache POI?

public class ImageAttachmentInDocument { 
    /** 
    * @param args 
    * @throws IOException 
    * @throws InvalidFormatException 
    */ 
    public static void main(String[] args) throws IOException, InvalidFormatException { 

     XWPFDocument doc = new XWPFDocument(); 
     FileInputStream is = new FileInputStream("encabezado.jpg"); 
     doc.addPictureData(IOUtils.toByteArray(is), doc.PICTURE_TYPE_JPEG); 


     XWPFParagraph title = doc.createParagraph();  
     XWPFRun run = title.createRun(); 
     run.setText("Fig.1 A Natural Scene"); 
     run.setBold(true); 
     title.setAlignment(ParagraphAlignment.CENTER); 

     FileOutputStream fos = new FileOutputStream("test4.docx"); 
     doc.write(fos); 
     fos.flush(); 
     fos.close();   
    } 
} 

(я использую Apache POI 3.11 и XMLBeans-2.3.0 в Eclipse IDE)

, когда я произвожу документ, не отображается изображение

Что я делаю не так?

ответ

5

Возможно, вы не прикрепляете изображение к тексту, где вы хотите его показать!

Принимая вдохновение из XWPF Simple Images Example, я думаю, что вы хотите, чтобы ваш код будет это:

XWPFDocument doc = new XWPFDocument(); 

    XWPFParagraph title = doc.createParagraph();  
    XWPFRun run = title.createRun(); 
    run.setText("Fig.1 A Natural Scene"); 
    run.setBold(true); 
    title.setAlignment(ParagraphAlignment.CENTER); 

    String imgFile = "encabezado.jpg" 
    FileInputStream is = new FileInputStream(imgFile); 
    run.addBreak(); 
    run.addPicture(is, XWPFDocument.PICTURE_TYPE_JPEG, imgFile, Units.toEMU(200), Units.toEMU(200)); // 200x200 pixels 
    is.close(); 

    FileOutputStream fos = new FileOutputStream("test4.docx"); 
    doc.write(fos); 
    fos.close();   

Разница есть в том, что вместо того, чтобы явно креплении изображение в документ, вы вместо того, чтобы добавить его в бег. Прогон добавляет также добавляет его в документ, но, кроме того, он также устанавливает настройки для ссылки на изображение из цикла, который вы хотите показать в

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