我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java如何实现给Word文件添加文字水印

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java如何实现给Word文件添加文字水印

这篇文章主要为大家展示了“Java如何实现给Word文件添加文字水印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现给Word文件添加文字水印”这篇文章吧。

方法思路

在给Word每一页添加水印前,首先需要在Word文档每一页正文的最后一个字符后面插入“连续”分节符,然后在每一节的页眉段落里添加艺术字类型的形状对象,并设置艺术字的坐标位置、样式、对齐方式等。最后保存文档。

Jar引入

在程序中引入 Free Spire.Doc for Java 中的Spire.Doc.jar文件(该文件在lib文件夹下);如果需要通过Maven下载导入,可进行如下配置pom.xml:

<repositories>        <repository>            <id>com.e-iceblue</id>            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>        </repository>    </repositories><dependencies>    <dependency>        <groupId>e-iceblue</groupId>        <artifactId>spire.doc.free</artifactId>        <version>5.1.0</version>    </dependency></dependencies>

Java代码

给每页添加图片水印时,可参考如下步骤:

  1. 创建Document类的对象,并通过Document.loadFromFile(String fileName)方法加载Word文档。

  2. 通过Document.getSections().get(int index)方法获取指定节。

  3. 通过Section.getHeadersFooters().getHeader()方法获取页眉,HeaderFooter.addParagraph()方法添加段落到页眉。

  4. 创建ShapeObject类的对象,并传入参数设置形状类型为Text_Plain_Text类型的艺术字。并调用方法设置艺术字样式,如艺术字高度、宽度、旋转、颜色、对齐方式等。

  5. 通过Paragraph.getChildObjects().add(IdocumentObject entity)方法添加艺术字到段落。

  6. 最后,通过Document.saveToFile(String fileName, FileFormat fileFormat)方法保存文档。

不同页面中设置不一样的文字水印效果,只需要获取该页面对应节的页眉段落,然后参考上述用到的方法步骤逐一添加即可。

下面是完整的Java代码示例:

import com.spire.doc.*;import com.spire.doc.documents.*;import com.spire.doc.fields.ShapeObject;import java.awt.*;public class DifferentTextWatermark {    public static void main(String[] args) {        //加载Word测试文档        Document doc = new Document();        doc.loadFromFile("test.docx");        //获取文档第一节        Section section1 = doc.getSections().get(0);        //定义水印文字的纵向坐标位置        float y = (float) (section1.getPageSetup().getPageSize().getHeight()/3);        //添加文字水印1        HeaderFooter header1 = section1.getHeadersFooters().getHeader();//获取页眉        header1.getParagraphs().clear();//删除原有页眉格式的段落        Paragraph para1= header1.addParagraph();//重新添加段落        //添加艺术字并设置大小        ShapeObject shape1 = new ShapeObject(doc, ShapeType.Text_Plain_Text);        shape1.setWidth(362);        shape1.setHeight(118);        //设置艺术字文本内容、位置及样式(即文本水印字样)        shape1.setRotation(315);        shape1.getWordArt().setText("内部使用");        shape1.setFillColor(new Color(128,128,128));        shape1.setLineStyle(ShapeLineStyle.Single);        shape1.setStrokeColor(new Color(128,128,128));        shape1.setStrokeWeight(0.5);        shape1.setVerticalPosition(y);        shape1.setHorizontalAlignment(ShapeHorizontalAlignment.Center);        para1.getChildObjects().add(shape1);        //同理设置第二节页眉中的文字水印2        Section section2 = doc.getSections().get(1);        HeaderFooter header2 = section2.getHeadersFooters().getHeader();        header2.getParagraphs().clear();        Paragraph para2= header2.addParagraph();        ShapeObject shape2 = new ShapeObject(doc, ShapeType.Text_Plain_Text);        shape2.setWidth(362);        shape2.setHeight(118);        shape2.setRotation(315);        shape2.getWordArt().setText("绝密资料");        shape2.setFillColor(new Color(221,160,221));        shape2.setLineStyle(ShapeLineStyle.Single);        shape2.setStrokeColor(new Color(221,160,221));        shape2.setStrokeWeight(0.5);        shape2.setVerticalPosition(y);        shape2.setHorizontalAlignment(ShapeHorizontalAlignment.Center);        para2.getChildObjects().add(shape2);        //同理设置第三节中的页眉中的文字水印3        Section section3 = doc.getSections().get(2);        HeaderFooter header3 = section3.getHeadersFooters().getHeader();        header3.getParagraphs().clear();        Paragraph para3= header3.addParagraph();        ShapeObject shape3 = new ShapeObject(doc, ShapeType.Text_Plain_Text);        shape3.setWidth(362);        shape3.setHeight(118);        shape3.setRotation(315);        shape3.getWordArt().setText("禁止传阅");        shape3.setFillColor(new Color(70,130,180));        shape3.setLineStyle(ShapeLineStyle.Single);        shape3.setStrokeColor(new Color(70,130,180));        shape3.setStrokeWeight(0.5);        shape3.setVerticalPosition(y);        shape3.setHorizontalAlignment(ShapeHorizontalAlignment.Center);        para3.getChildObjects().add(shape3);        //保存文档        doc.saveToFile("DifferentTextWatermark.docx",FileFormat.Docx_2013);        doc.dispose();    }}

如图,每一页均可显示不同的文字水印效果:

Java如何实现给Word文件添加文字水印

以上是“Java如何实现给Word文件添加文字水印”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java如何实现给Word文件添加文字水印

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java如何实现给Word文件添加文字水印

这篇文章主要为大家展示了“Java如何实现给Word文件添加文字水印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现给Word文件添加文字水印”这篇文章吧。方法思路在给Word每一
2023-06-29

PHP怎么实现给图片添加文字水印

本篇内容主要讲解“PHP怎么实现给图片添加文字水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现给图片添加文字水印”吧!PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图
2023-06-04

Java实现添加文字水印和图片水印功能

为图片添加水印是一种常用的图片处理技术,本文主要介绍了Java实现添加文字水印和图片水印功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-18

java怎么实现添加图片水印和文字水印

这篇文章主要介绍java怎么实现添加图片水印和文字水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们经常会在一些图片或者图片上看到某某公司或品牌的水印,那么我们可不可以自己在喜欢的图片或文件上添加水印呢?答案当然
2023-06-09

golang中如何实现给gif、png、jpeg图片添加文字水印

小编给大家分享一下golang中如何实现给gif、png、jpeg图片添加文字水印,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾
2023-06-14

Python实现给图片添加文字或图片水印

在现今的数字化时代,网络上的图片泛滥,盗图现象也越来越严重。因此,在发布文章时,为了保护自己的原创作品版权,很多人选择使用水印来保护他们的图片。本文就和大家分享了Python实现给图片添加文字或图片水印的方法,需要的可以收藏一下
2023-05-19

Java实现添加文字水印&图片水印的方法详解

为图片添加水印的主要作用是保护图片版权,防止图片被未经授权的人使用或传播。本文为大家介绍了Java实现添加文字水印&图片水印的具体方法,需要的可以参考一下
2023-02-06

word如何给文字添加双删除线

在Word中,可以通过以下步骤给文字添加双删除线:1. 选中需要添加双删除线的文字。2. 在顶部菜单栏中选择“字体”选项卡。3. 在弹出的字体对话框中,找到“效果”部分。4. 在“效果”部分的“删除线”下拉菜单中选择“双删除线”选项。5.
2023-10-07

Java使用pdfbox实现给pdf文件加图片水印

有时候需要给pdf加水印,市面上工具都是收费的要会员,还是自食其力吧;尝试过spire.pdf.free那个超过10页就不行了!所以本文还是使用了pdfbox,感兴趣的可以了解一下
2022-11-16

计算机中文件水印如何添加

小编给大家分享一下计算机中文件水印如何添加,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!文件水印的添加方法:首先打开wps软件,并导入需要加水印的文件;然后找到“插入”并且单击;接着点击“自定义水印”,并设置内容、大小、字
2023-06-14

Python怎么实现批量向PDF文件添加中文水印

本文小编为大家详细介绍“Python怎么实现批量向PDF文件添加中文水印”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现批量向PDF文件添加中文水印”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-06-29

如何添加或删除PDF文件中的水印

这篇文章将为大家详细讲解有关如何添加或删除PDF文件中的水印,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、怎样添加水印步骤一:在电脑中找到并打开我们需要使用的迅捷PDF编辑器,进入软件后把需要添加水印
2023-06-05

如何在大数据报表中添加文字水印

如何在大数据报表中添加文字水印,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。开源报表工具(比如 birt、ireport 等)基本上都得通过背景图变相实现水印,
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录