2016-08-04 97 views
-1

有人可以告訴我如何使用java將圖片複製到word文檔。我試過了一段代碼,但是我一直收到一個錯誤,說文檔內容有誤。請幫助。提前感謝一堆!將圖片複製到word文檔

+1

你檢查此鏈接[http://stackoverflow.com/questions/17745466/insert-picture-in-word-document](http://stackoverflow.com/questions/17745466/insert-picture -in字文檔)? –

+0

是的,我看到了這個代碼。而且我在2010年得到了完全相同的錯誤。「文檔文件無法打開,因爲內容存在問題。」我沒有看到在這個問題的解決方案的意見:( –

回答

1

原則上這很簡單,因爲您可以簡單地使用XWPFRun.addPicture將圖片添加到XWPFRun。

import java.io.FileOutputStream; 
import java.io.FileInputStream; 
import java.io.IOException; 

import org.apache.poi.util.Units; 

import org.apache.poi.xwpf.usermodel.*; 

public class CreateWordWithImage { 

public static void main(String[] args) throws Exception { 

    XWPFDocument doc= new XWPFDocument(); 

    XWPFParagraph paragraph = doc.createParagraph(); 
    XWPFRun run=paragraph.createRun(); 
    run.setText("The Body:"); 

    paragraph = doc.createParagraph(); 
    run=paragraph.createRun(); 
    run.setText("Lorem ipsum...."); 

    run = paragraph.createRun(); 
    String imgFile="Koala.png"; 
    XWPFPicture picture = run.addPicture(new FileInputStream(imgFile), XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(100), Units.toEMU(100)); 

    run = paragraph.createRun(); 
    run.setText("...Lorem ipsum...."); 

    paragraph = doc.createParagraph(); 
    run=paragraph.createRun(); 
    run.setText("Lorem ipsum...."); 

    doc.write(new FileOutputStream("test.docx")); 

} 
} 
+0

非常感謝你亞歷克斯..此代碼在Windows 2013中完美工作。但我在2010年出現錯誤。錯誤是文檔文件無法打開因爲內容有問題 –

+0

您使用的是什麼apache poi版本?我的版本是poi-3.14。適用於在Word 2007,Word 2016,Openoffice 4.1.2 Writer和Libreoffice 5.1.4 Writer中打開。我很肯定不應該有問題,也許你正在使用的圖片是問題?嘗試另一種方法?嘗試在Word 2010 GUI中手動插入圖片? –

+0

我正在使用3.10。和3.14。在2010年試用了它。沒有工作..我可以手動插入圖片,但!! !!我做了一些研究,並認爲也許我們可能需要創建自己的xwpf文檔。不知道我是否正確地分享我發現的東西。 –

相關問題