?
class="MsoNormal">文档中,可以通过图文混排的方式来增加内容的可读性,相比纯文本文档,在内容展现方式上也更具美观性。在给文档添加图片时,可设置图片的文本环绕方式、旋转角度、图片高度/宽度等;另外,也可对文档中已有的图片实现替换、删除等操作。本文将从在Word文档中添加、替换、删除图片等三个操作需求来介绍。具体代码可参考以下示例。
工具使用:Free Spire.Doc for Java(免费版)
Jar文件获取方法:
?
方法1:通过官网下载jar文件包。下载后,解压文件;解压后,将lib文件夹下的Spire.Doc.jar导入java程序。如下图:
方法2:可通过maven安装导入。
?
?
?
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(); } }
?图片添加效果:
?
?
?
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(); } }
?图片替换效果:
?
?
?
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); //保存结果文档 doc.saveToFile("DeletePictures.docx", FileFormat.Docx_2013); doc.dispose(); } }
?
图片删除效果:
?
?
(本文完)
?