Java 添加、替换、删除Word中的图片_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java 添加、替换、删除Word中的图片

Java 添加、替换、删除Word中的图片

 2019/11/12 12:50:23  Miaonly  程序员俱乐部  我要评论(0)
  • 摘要:文档中,可以通过图文混排的方式来增加内容的可读性,相比纯文本文档,在内容展现方式上也更具美观性。在给文档添加图片时,可设置图片的文本环绕方式、旋转角度、图片高度/宽度等;另外,也可对文档中已有的图片实现替换、删除等操作。本文将从在Word文档中添加、替换、删除图片等三个操作需求来介绍。具体代码可参考以下示例。工具使用:FreeSpire.DocforJava(免费版)Jar文件获取方法:方法1:通过官网下载jar文件包。下载后,解压文件;解压后,将lib文件夹下的Spire.Doc
  • 标签:图片 Java

?

class="MsoNormal">文档中,可以通过图文混排的方式来增加内容的可读性,相比纯文本文档,在内容展现方式上也更具美观性。在给文档添加图片时,可设置图片的文本环绕方式、旋转角度、图片高度/宽度等;另外,也可对文档中已有的图片实现替换、删除等操作。本文将从在Word文档中添加、替换、删除图片等三个操作需求来介绍。具体代码可参考以下示例。

工具使用:Free Spire.Doc for Java(免费版)

Jar文件获取方法:

?

方法1通过官网下载jar文件包。下载后,解压文件;解压后,将lib文件夹下的Spire.Doc.jar导入java程序。如下图:

方法2可通过maven安装导入

?

?

【示例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);

        //保存结果文档
        doc.saveToFile("DeletePictures.docx", FileFormat.Docx_2013);
        doc.dispose();
    }
}

?

图片删除效果:


?

?

(本文完)

?

  • 大小: 21 KB
  • 大小: 157.1 KB
  • 大小: 491.6 KB
  • 大小: 366.8 KB
  • 查看图片附件
上一篇: ABAP和Java里的单例模式攻击 下一篇: 没有下一篇了!
发表评论
用户名: 匿名