Java如何給Word文檔添加多行文字水印
前言
我在以往的文章中曾介紹過(guò)如何給Word文檔添加文本水印和圖片水印,及怎樣刪除文檔中的水印。關(guān)于文本水印,之前那篇教程里主要指的是單行字體的水印,而在操作Word文檔時(shí),有時(shí)也會(huì)碰到需要添加多行文字水印的情況。所以,本文將演示如何使用Java程序來(lái)為Word文檔添加多行文字水印。
代碼測(cè)試環(huán)境:
- Intellij Idea2019.1
- JDK 1.8.0
- Spire.Doc.jar
Jar包獲取及導(dǎo)入
方法一:手動(dòng)將Jar包導(dǎo)入IDEA。具體步驟如下:
步驟 1:在 E-iceblue中文官網(wǎng)注冊(cè)并登陸賬號(hào),進(jìn)入Free Spire.Doc for Java下載頁(yè)面下載產(chǎn)品包。
步驟 2:解壓產(chǎn)品包,找到lib文件下的Spire.Doc.jar。
步驟 3:將Spire.Doc.jar手動(dòng)導(dǎo)入IDEA中。
方法二: 通過(guò)Maven倉(cāng)庫(kù)安裝導(dǎo)入產(chǎn)品及相關(guān)依賴(lài)。創(chuàng)建一個(gè)Maven應(yīng)用程序,在pom.xml文件中配置Maven倉(cāng)庫(kù)路徑及指定Spire.Doc for Java的Maven依賴(lài)。
<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId> e-iceblue </groupId> <artifactId>spire.doc.free</artifactId> <version>2.7.3</version> </dependency> </dependencies>
配置完成后,在IDEA中,您需點(diǎn)擊"Import Changes"即可導(dǎo)入JAR包;在Eclipse中,則需要點(diǎn)擊"Save"按鈕。
代碼演示
Free Spire.Doc for Java通過(guò)在Word頁(yè)眉中添加藝術(shù)字來(lái)實(shí)現(xiàn)為文檔添加多行文字水印。具體代碼如下:
import com.spire.doc.Document; import com.spire.doc.FileFormat; import com.spire.doc.HeaderFooter; import com.spire.doc.Section; import com.spire.doc.documents.Paragraph; import com.spire.doc.documents.ShapeLineStyle; import com.spire.doc.documents.ShapeType; import com.spire.doc.fields.ShapeObject; import java.awt.*; public class multiTextWatermark { public static void main(String[] args) { //加載示例文檔 Document doc = new Document(); doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.docx"); //添加藝術(shù)字并設(shè)置大小 ShapeObject shape = new ShapeObject(doc, ShapeType.Text_Plain_Text); shape.setWidth(60); shape.setHeight(20); //設(shè)置藝術(shù)字文本內(nèi)容、顏色,位置及樣式 shape.setVerticalPosition(30); shape.setHorizontalPosition(20); shape.setRotation(315); shape.getWordArt().setText("內(nèi)部使用"); shape.setFillColor(Color.green); shape.setLineStyle(ShapeLineStyle.Single); shape.setStrokeColor(new Color(192, 192, 192, 255)); shape.setStrokeWeight(1); Section section; HeaderFooter header; for (int n = 0; n < doc.getSections().getCount(); n++) { section = doc.getSections().get(n); //獲取section的頁(yè)眉 header = section.getHeadersFooters().getHeader(); Paragraph paragraph1; for (int i = 0; i < 4; i++) { //添加段落到頁(yè)眉 paragraph1 = header.addParagraph(); for (int j = 0; j < 3; j++) { //復(fù)制藝術(shù)字并設(shè)置多行多列位置 shape = (ShapeObject) shape.deepClone(); shape.setVerticalPosition(50 + 150 * i); shape.setHorizontalPosition(20 + 160 * j); paragraph1.getChildObjects().add(shape); } } } //保存文檔 doc.saveToFile("output/multi-lineTextwatermark.docx", FileFormat.Docx_2013); } }
添加效果:
總結(jié):
通過(guò)運(yùn)用以上代碼,多行文字水印能夠完整清晰準(zhǔn)確地被插入到Word文檔中。若對(duì)代碼或Jar包導(dǎo)入有疑問(wèn)的,可評(píng)論或私信。
到此這篇關(guān)于Java如何給Word文檔添加多行文字水印的文章就介紹到這了,更多相關(guān)Java如何添加文字水印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- java.imageIo給圖片添加水印的實(shí)現(xiàn)代碼
- 教你怎么用Java實(shí)現(xiàn)給圖片打上水印
- Java在Excel中添加水印的實(shí)現(xiàn)(單一水印、平鋪水印)
- Java添加Word文本水印和圖片水印
- Java在Word中添加多行圖片水印
- java實(shí)現(xiàn)給圖片加鋪滿(mǎn)的網(wǎng)格式文字水印
- java實(shí)現(xiàn)圖片加水印效果
- java實(shí)現(xiàn)word文檔轉(zhuǎn)pdf并添加水印的方法詳解
- java pdf加水印的方法
- 如何通過(guò)javacv實(shí)現(xiàn)圖片去水印(附代碼)
- 如何通過(guò)Java添加水印到Word文檔
- Java實(shí)現(xiàn)給圖片添加圖片水印,文字水印及馬賽克的方法示例
- Java用自帶的Image IO給圖片添加水印
相關(guān)文章
spring如何實(shí)現(xiàn)依賴(lài)注入DI(spring-test方式)
本文主要介紹如何實(shí)現(xiàn)spring 的依賴(lài)注入,并且淺顯的講述一下注入需要注意的事項(xiàng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Java輸入字母來(lái)判斷星期幾的實(shí)現(xiàn)代碼
這篇文章主要介紹了Java輸入字母來(lái)判斷星期幾的實(shí)現(xiàn)代碼,用情況語(yǔ)句比較好,如果第一個(gè)字母一樣,則判斷用情況語(yǔ)句或if語(yǔ)句判斷第二個(gè)字母需要的朋友可以參考下2017-02-02java對(duì)象list使用stream根據(jù)某一個(gè)屬性轉(zhuǎn)換成map的3種方式舉例
開(kāi)發(fā)小伙伴們通常會(huì)需要使用到對(duì)象和Map互相轉(zhuǎn)換的開(kāi)發(fā)場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于java對(duì)象list使用stream根據(jù)某一個(gè)屬性轉(zhuǎn)換成map的3種方式,需要的朋友可以參考下2024-01-01springboot項(xiàng)目idea熱部署的教程詳解
這篇文章主要介紹了springboot項(xiàng)目idea熱部署,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Java多態(tài)實(shí)現(xiàn)原理詳細(xì)梳理總結(jié)
這篇文章主要介紹了Java多態(tài)實(shí)現(xiàn)原理詳細(xì)梳理總結(jié),多態(tài)是繼封裝、繼承之后,面向?qū)ο蟮牡谌筇匦?,本文只總結(jié)了多態(tài)的實(shí)現(xiàn)原理,需要的朋友可以參考一下2022-06-06Springboot詳解實(shí)現(xiàn)食品倉(cāng)庫(kù)管理系統(tǒng)流程
這是一個(gè)使用Springboot開(kāi)發(fā)的食品倉(cāng)庫(kù)管理系統(tǒng),是為商家提供商品貨物進(jìn)銷(xiāo)存的信息化管理系統(tǒng),具有一個(gè)倉(cāng)庫(kù)管理系統(tǒng)該有的所有功能,感興趣的朋友快來(lái)看看吧2022-06-06