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学习资料的也可以私信我!
祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。