广告
返回顶部
首页 > 资讯 > 精选 >Java如何实现给Word文件添加文字水印
  • 551
分享到

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

2023-06-29 04:06:45 551人浏览 安东尼
摘要

这篇文章主要为大家展示了“Java如何实现给Word文件添加文字水印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现给Word文件添加文字水印”这篇文章吧。方法思路在给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文件添加文字水印”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Java如何实现给Word文件添加文字水印

本文链接: https://www.lsjlt.com/news/322674.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Java实现给Word文件添加文字水印
    目录方法思路Jar引入Java代码Word中设置水印时,可预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不...
    99+
    2022-11-13
  • Java如何实现给Word文件添加文字水印
    这篇文章主要为大家展示了“Java如何实现给Word文件添加文字水印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现给Word文件添加文字水印”这篇文章吧。方法思路在给Word每一...
    99+
    2023-06-29
  • PHP怎么实现给图片添加文字水印
    本篇内容主要讲解“PHP怎么实现给图片添加文字水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现给图片添加文字水印”吧!PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图...
    99+
    2023-06-04
  • java怎么实现添加图片水印和文字水印
    这篇文章主要介绍java怎么实现添加图片水印和文字水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们经常会在一些图片或者图片上看到某某公司或品牌的水印,那么我们可不可以自己在喜欢的图片或文件上添加水印呢?答案当然...
    99+
    2023-06-09
  • Java实现添加文字水印和图片水印功能
    目录添加水印Java 2D API介绍1.创建一个绘制图形的对象2.绘制基本图形3.绘制文本4.绘制图像5.设置绘制属性绘制文字水印绘制图片水印循环添加文字水印添加水印 为图片添加水...
    99+
    2023-05-18
    Java 文字水印 Java 图片水印
  • Python实现给图片添加文字或图片水印
    目录前言PIL的Image模块的基本介绍Python代码实现文字水印Python代码实现图片水印前言 图片加水印有什么好处?在现今的数字化时代,网络上的图片泛滥,盗图现象也越来越严重...
    99+
    2023-05-19
    Python图片添加文字水印 Python图片添加图片水印 Python图片添加水印 Python添加水印
  • C#实现添加多行文本水印到Word文档
    目录dll引用添加多行多列文字水印实现代码一般情况下,在Word中添加文字水印仅支持添加一个文本字样的水印,但在复杂的办公环境中,由于对不同文档的设计要求,需要在Word文档中添加平...
    99+
    2022-11-13
  • 2行Python代码实现给pdf文件添加水印
    目录1、 引言2、指定水印内容输出到pdf文件2.1 模块安装2.2 思路2.3 代码示例3、水印内容批量输出到pdf文件3.1 模块安装3.2 思路3.3 代码示例4、总结1、 引...
    99+
    2022-11-13
  • golang中实现给gif、png、jpeg图片添加文字水印
    添加水印示例 添加main文件 “watermark/main.go” package main import ( "fmt" "watermark/textwatermar...
    99+
    2022-11-12
  • golang中如何实现给gif、png、jpeg图片添加文字水印
    小编给大家分享一下golang中如何实现给gif、png、jpeg图片添加文字水印,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾...
    99+
    2023-06-14
  • Java实现添加文字水印&图片水印的方法详解
    目录为什么要给图片添加水印绘制文字水印动态计算字符串的宽度自适应文字水印位置绘制图片水印提升图片处理速度为什么要给图片添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经...
    99+
    2023-02-06
    Java添加文字水印 Java添加图片水印 Java添加水印
  • Python实现给图片加文字或logo水印
    目录前言环境依赖代码验证一下执行结果前言 本文提供给图片添加文字或者logo图片水印的python工具,打造专属图片。 环境依赖 ffmpeg环境安装,ffmpy安装: pip ...
    99+
    2022-11-12
  • Java使用pdfbox实现给pdf文件加图片水印
    目录引入依赖代码效果引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId&...
    99+
    2022-11-16
    Java pdfbox PDF添加图片水印 Java PDF添加图片水印 Java PDF水印
  • word如何给文字添加双删除线
    在Word中,可以通过以下步骤给文字添加双删除线:1. 选中需要添加双删除线的文字。2. 在顶部菜单栏中选择“字体”选项卡。3. 在...
    99+
    2023-10-07
    word
  • Python实现批量向PDF文件添加中文水印
    目录前言实现步骤完整代码前言 可以通过设置批量PDF文件所在的路径及需要添加的水印名称可以实现批量添加PDF水印的效果。 实现思路是这样的,通过在批量PDF文件路径下面生成一个带有水...
    99+
    2022-11-13
  • 计算机中文件水印如何添加
    小编给大家分享一下计算机中文件水印如何添加,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!文件水印的添加方法:首先打开wps软件,并导入需要加水印的文件;然后找到“插入”并且单击;接着点击“自定义水印”,并设置内容、大小、字...
    99+
    2023-06-14
  • Python怎么实现批量向PDF文件添加中文水印
    本文小编为大家详细介绍“Python怎么实现批量向PDF文件添加中文水印”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现批量向PDF文件添加中文水印”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • 如何利用Java在图片上添加文字水印效果
    目录前言【1】获取原图片对象(1.1)读取本地图片(1.2)读取网络图片【2】创建画笔【3】添加文字水印【4】获取处理图片【5】源代码总结前言 今天分享一个:通过Java代码,给图片...
    99+
    2022-11-12
  • 如何在大数据报表中添加文字水印
    如何在大数据报表中添加文字水印,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。开源报表工具(比如 birt、ireport 等)基本上都得通过背景图变相实现水印,...
    99+
    2023-06-03
  • 如何添加或删除PDF文件中的水印
    这篇文章将为大家详细讲解有关如何添加或删除PDF文件中的水印,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、怎样添加水印步骤一:在电脑中找到并打开我们需要使用的迅捷PDF编辑器,进入软件后把需要添加水印...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作