zoukankan      html  css  js  c++  java
  • Java 添加、替换、删除Word中的图片

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

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

  • 相关阅读:
    推荐系统 蒋凡译 第一章 引言 读书笔记
    神经网络与深度学习 邱锡鹏 第5章 卷积神经网络 读书笔记
    神经网络与深度学习 邱锡鹏 第4章 前馈神经网络 读书笔记
    神经网络与深度学习 邱锡鹏 第3章 线性模型 读书笔记
    神经网络与深度学习 邱锡鹏 第2章 机器学习概述 读书笔记
    神经网络与深度学习 邱锡鹏 第1章 绪论 作业
    神经网络与深度学习 邱锡鹏 第1章 绪论 读书笔记
    算法笔记 上机训练实战指南 第13章 专题扩展 学习笔记
    算法笔记 第13章 专题扩展 学习笔记
    算法笔记 上机训练实战指南 第11章 提高篇(5)--动态规划专题 学习笔记
  • 原文地址:https://www.cnblogs.com/heqingxiaohuo/p/12341653.html
Copyright © 2011-2022 走看看