Java 添加、替換、刪除Word中的圖片
文檔中,可以通過圖文混排的方式來增加內容的可讀性,相比純文本文檔,在內容展現方式上也更具美觀性。在給文檔添加圖片時,可設置圖片的文本環繞方式、旋轉角度、圖片高度/寬度等;另外,也可對文檔中已有的圖片實現替換、刪除等操作。本文將從在Word文檔中添加、替換、刪除圖片等三個操作需求來介紹。具體代碼可參考以下示例。
工具使用:Free Spire.Doc for Java(免費版)
【示例1】添加圖片到Word
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextWrappingStyle;
import com.spire.doc.fields.DocPicture;
public class AddPicture {
public static void main(String[] args) {
//加載文檔
Document doc = new Document();
doc.loadFromFile("test.docx");
//獲取第二段
Paragraph para = doc.getSections().get(0).getParagraphs().get(1);
//添加圖片,並設置圖片高、寬、旋轉角度、文本環繞方式
DocPicture picture = para.appendPicture("tp.png");
picture.setHeight(150);
picture.setWidth(200);
picture.setRotationEx(30);
picture.setTextWrappingStyle(TextWrappingStyle.Inline);
//保存文檔
doc.saveToFile("AddPicture.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
【示例2】替換Word中的圖片
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.DocPicture;
public class ReplacePicture {
public static void main(String[] args) {
//加載Word文檔
Document doc = new Document();
doc.loadFromFile("sample.docx");
//獲取文檔中的指定段落
Section section = doc.getSections().get(0);
Paragraph para = section.getParagraphs().get(0);
//替換段落中的第一張圖片
Object obj = para.getChildObjects().get(0);
if(obj instanceof DocPicture){
DocPicture pic = (DocPicture)obj;
pic.loadImage("tp.png");
}
/*批量替換圖片
for(int i =0;i < section.getParagraphs().getCount();i++){
Object obj = section.getParagraphs().get(i).getChildObjects();
if(obj instanceof DocPicture){
DocPicture pic = (DocPicture)obj;
pic.loadImage("tp.png");
}
}*/
//保存結果文檔
doc.saveToFile("ReplaceWithImage.docx", FileFormat.Docx_2013);
doc.dispose();
}
}
【示例3】刪除Word中的圖片
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.DocPicture;
public class DeletePicture {
public static void main(String[] args) {
//加載測試文檔
Document doc = new Document();
doc.loadFromFile("sample.docx");
//獲取段落
Section sec = doc.getSections().get(0);
Paragraph para = sec.getParagraphs().get(0);
//獲取段落中的圖片對象,刪除
DocPicture picture = (DocPicture) para.get(0);
para.getChildObjects().remove(picture);
/*//批量刪除所有圖片
for (int i = 0 ; i < sec.getParagraphs().getCount(); i++){
Paragraph para = sec.getParagraphs().get(i);
for (int j = 0; j< para.getChildObjects().getCount();j++) {
Object obj = para.getChildObjects().get(j);
if(obj instanceof DocPicture){
DocPicture pic = (DocPicture)obj;
para.getChildObjects().remove(pic);
}
}
}*/
//保存結果文檔
doc.saveToFile("DeletePictures.docx", FileFormat.Docx_2013);
doc.dispose();
}
}
喜歡這樣文章的可以關注我,我會持續更新,你們的關注是我更新的動力!需要更多java學習資料的也可以私信我!
祝關注我的人都:身體健康,財源廣進,福如東海,壽比南山,早生貴子,從不掉發!