王囧草

导航

 

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学习资料的也可以私信我!

祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!

posted on 2020-02-21 15:50  王囧草  阅读(1602)  评论(0编辑  收藏  举报