java替换图片中文字_Java 添加、替换、删除Word中的图片

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

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

Jar文件获取方法:

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

e00dede3994dc53cb3294c69f052bbf0.png

方法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();}
}

图片添加效果:

1f3e10f54608ba32c52ac63a8293aeb3.png

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

图片替换效果:

08a51a6aae62e3ce491e3f2d422b2f97.png

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

图片删除效果:

4044f514e64c031197b0a889905440d7.png

(本文完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532074.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka如何保证不重复消费又不丢失数据_Kafka写入的数据如何保证不丢失?

我们暂且不考虑写磁盘的具体过程&#xff0c;先大致看看下面的图&#xff0c;这代表了 Kafka 的核心架构原理。Kafka 分布式存储架构那么现在问题来了&#xff0c;如果每天产生几十 TB 的数据&#xff0c;难道都写一台机器的磁盘上吗?这明显是不靠谱的啊!所以说&#xff0c;这…

不允许输入特殊字符的正则表达式_JavaScript正则表达式常用技巧

正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript 中&#xff0c;正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法。正则表达式的掌握程度能粗略地看出程序员的技术底子&#xff…

latex 算法_GitHub项目awesome-latex-drawing新增内容(四):绘制贝叶斯网络

近期&#xff0c;我们整理和开源了一个基于LaTeX的科技绘图项目&#xff0c;并将其取名为awesome-latex-drawing&#xff08;GitHub网址为&#xff1a;https://github.com/xinychen/awesome-latex-drawing&#xff09;&#xff0c;案例包括贝叶斯网络、图模型、矩阵/张量示意图…

python123动物重量排序_python进阶

面向对象oopclass Student(object):def __init__(self,name,score)self.name nameself.score scoredef print_score(self)print(%s: %s % (self.name,self.score))给对象发消息实际上就是调用对象对应的关联函数&#xff0c;我们称之为对象的方法(Method)。面向对象的程序写出…

mysql中的生日应该是什么类型_MySQL中的定点数类型

上一篇文章我们唠叨了浮点数&#xff0c;知道了浮点数存储小数是不精确的。本篇继续唠叨一下MySQL中的另一种存储小数的方式 —— 定点数。浮点数文章闪现&#xff1a;什么, 0.3 - 0.2 ≠ 0.1 ? 什么鬼定点数类型正因为用浮点数表示小数可能会有不精确的情况&#xff0c;在一些…

python怎么制作图像_python数字图像处理(5):图像的绘制

实际上前面我们就已经用到了图像的绘制&#xff0c;如&#xff1a;io.imshow(img)这一行代码的实质是利用matplotlib包对图片进行绘制&#xff0c;绘制成功后&#xff0c;返回一个matplotlib类型的数据。因此&#xff0c;我们也可以这样写&#xff1a;importmatplotlib.pyplot …

axios代理跨域 cli4_vuecli 3.0之跨域请求代理配置及axios路径配置 莫小龙

vue-cli 3.0之跨域请求代理配置及axios路径配置问题&#xff1a;在前后端分离的跨域请求中&#xff0c;报跨域问题配置&#xff1a;vue.config.js&#xff1a;module.exports {runtimeCompiler: true,publicPath: /, // 设置打包文件相对路径devServer: {// open: process.pla…

string转为char数组_StringBuilder的区别是什么?String是不可变?一点课堂(多岸学院)...

String和StringBuffer、StringBuilder的区别可变性简单的来说&#xff1a;String 类中使用 final 关键字字符数组保存字符串&#xff0c;private final char value[]&#xff0c;所以 String 对象是不可变的。而StringBuilder 与 StringBuffer 都继承自 AbstractStringBuild…

python去年软件排行_2017年编程语言排行榜,Python位居榜首(C语言需求最大)

最近IEEE Spectrum 发布了编程语言交互式排行榜&#xff0c;为很多学习代码的朋友们详解各类代码语言的需求和占有率。为学习代码的朋友们能更加重视哪一种编程语言而有一个明确的方向。下面排行榜123网为你公布2017年编程语言排行榜,Python位居榜首(C语言需求最大)。2017年编程…

mysql test数据库_mysql数据库test

Re介绍一下CentOS下MySQL数据库的安装与配置方法MySQL数据库配置的具体步骤&#xff1a;1、编辑MySQL的配置文件&#xff0c;使用vi /etc/my.cnf[rootsample ~]# vi /etc/my.cnf  ← 编辑MySQL的配置文件[mysqld]datadir/var/lib/mysqlsocket/var/lib/mysql/mysql.sock# Defau…

mysql 升级 openssl_【1分钟教程】LNMP架构应用实战 Openssl升级操作

由于实际生产环境需求&#xff0c;需要将LNMP环境中的openssl版本升级至目前最新版本openssl-1.1.0c&#xff0c;这玩意升级还真的不是一般的麻烦&#xff0c;由于它与系统各种服务都有相关的联系&#xff0c;比如ssh服务等&#xff0c;因此&#xff0c;升级非常的繁琐,所以今天…

miui秒解bl锁_MIUI12解锁bl篇(原谅我的过失,接上篇文章)

求原谅真心求原谅由于我的疏忽&#xff0c;上期教程不完整&#xff0c;对大家造成不便在这里给大家真诚道歉&#xff01;对不起&#xff01;请收下我的膝盖&#xff01;&#xff01;&#xff01;我的上个教程小米手机MIUI系统降级任意版本通用教程&#xff0c;MIUI12→MIUI9因为…

腐蚀rust服务器命令_【使用 Rust 写 Parser】2. 解析Redis协议

系列所有文章https://zhuanlan.zhihu.com/p/115017849​zhuanlan.zhihu.comhttps://zhuanlan.zhihu.com/p/139387293​zhuanlan.zhihu.comhttps://zhuanlan.zhihu.com/p/146455601​zhuanlan.zhihu.comhttps://zhuanlan.zhihu.com/p/186217695​zhuanlan.zhihu.com在基本熟悉 n…

python中dic_python之dic {字典}(重要指数*****)

1. 什么是字典{name: 汪峰, age: 18} 键:值 别的语言键值对数据键: 必须是可哈希(不可变的数据类型),并且是唯一的值: 任意可以保存任意类型的数据字典是无序的python3.6版本以上,默认定义了顺序,python3.5以下是随机显示不能进⾏切片⼯作. 它只能通过key来获取dict中的数据字典…

python装饰器带参数函数二阶导数公式_一文搞定Python装饰器,看完面试不再慌

本文始发于个人公众号&#xff1a;TechFlow&#xff0c;原创不易&#xff0c;求个关注今天是Python专题的第12篇文章&#xff0c;我们来看看Python装饰器。一段囧事差不多五年前面试的时候&#xff0c;我就领教过它的重要性。那时候我Python刚刚初学乍练&#xff0c;看完了廖雪…

centos7源码安装mysql报错_CentOS7 下源码安装MySQL数据库 8.0.11

本文主要向大家介绍了CentOS7 下源码安装MySQL数据库 8.0.11&#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习MySQL数据库有所帮助。CentOS7 下源码安装MySQL 8.0.11系统环境&#xff1a;CentOS7&#xff0c; 内核&#xff1a;Linux 3.10.0-862.el7.x86_64如果…

python全排列问题_Python基于回溯法子集树模板解决全排列问题示例

本文实例讲述了Python基于回溯法子集树模板解决全排列问题。分享给大家供大家参考&#xff0c;具体如下&#xff1a;问题实现 a, b, c, d 四个元素的全排列。分析这个问题可以直接套用排列树模板。不过本文使用子集树模板。分析如下&#xff1a;一个解x就是n个元素的一种排列&a…

file js new 传到后台_js 图片上传传给后台的3种格式

$("#imgfile").change(function () {var formData new FormData();$.each($(#imgfile)[0].files, function (i, file) {formData.set(idcard, file); //idcard 字段 根据自己后端接口定});//processData: false, contentType: false,多用来处理异步上传二进制文件。…

usbserialcontroller驱动安装不了_win10-有NVIDIA独显提示未安装控制面板的离线安装方式...

最近越来越多的用户反映NVIDIA显卡驱动设置不了啦&#xff0c;找不到NVIDIA显卡的控制面板。 也不知道NVIDIA在什么版本开始驱动安装包就不自带NVIDIA显卡控制面板了。 全新安装的显卡驱动就没有控制面板&#xff1b;或者Windows 10自带更新了显卡新版驱动后导致没有。 每次带N…

mysql 多实例 独立配置文件_三、安装配置多实例MYSQL5.6-多独立配置文件方法

三、安装配置多实例MYSQL5.6-多独立配置文件方法1、准备工作检查操作系统版本、内核版本、selinux是否关闭、防火墙策略、IP地址、主机名配置、host表配置、yum配置上传cmake、mysql5.6软件包具体步骤参考源码安装mysql-单实例配置文档2、安装cmake软件2.1 安装编译软件环境[[e…