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

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

  • 相关阅读:
    JavaScript压缩混淆 / 格式化 / 美化工具
    5.PCA
    4.SVM(基于结构风险最小化)
    3(5).线性分类之朴素贝叶斯
    3(4).线性分类之Gaussian Discriminant Analysis高斯判别模型
    sklearn---Logistic Regression
    3(3).线性分类之logistic regression(基于经验风险最小化)
    2.2 数据结构---数组(查找)
    2.1 数据结构---数组
    3(2).线性分类之线性判别分析(LDA)
  • 原文地址:https://www.cnblogs.com/heqingxiaohuo/p/12341653.html
Copyright © 2011-2022 走看看