前言
當(dāng)我們制作好Word文檔后此叠,想要讓枯燥乏味的文本顯得有活力,或是想高亮顯示文檔中指定的段落或文字馒闷,此時我們可以通過為整個文檔或某特定文字/段落添加背景色的形式來實(shí)現(xiàn)遏匆。本文將使用Free?Spire.Doc for Java控件來演示如何在Java程序中給Word文檔添加背景顏色。
本文代碼演示內(nèi)容可分為:
給整個Word文檔添加背景顏色
1)添加純色背景色
2)添加漸變色背景色
給Word文檔中的指定段落或文字添加背景色
測試環(huán)境
在運(yùn)行代碼前码泞,需要搭建測試環(huán)境兄旬。首先下載安裝配置好JDK和IntelliJ IDEA, 然后將Free Spire.Doc for Java控件里的Jar包導(dǎo)入IDEA。這里重點(diǎn)講解下如何導(dǎo)入Jar包浦夷。導(dǎo)入方式一共有兩種:其一辖试,在官網(wǎng)上下載產(chǎn)品包辜王,解壓后將lib文件夾下的Spire.Doc.jar手動導(dǎo)入IDEA劈狐;其二(推薦使用),在IDEA中創(chuàng)建一個Maven項目呐馆,然后在pom.xml文件中鍵入以下代碼肥缔,最后點(diǎn)擊“Import Changes”即可。
<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>3.9.0</version>
??? </dependency>
</dependencies>
最終導(dǎo)入效果如下圖所示:
代碼演示
示例1 給整個Word文檔添加背景顏色
1)添加純色背景色
import com.spire.doc.*;
import com.spire.doc.documents.BackgroundType;
import java.awt.*;
public class SolidBackgroundColor {
public static void main(String[] args) {
//加載Word示例文檔
Document document= new Document("C:\\Users\\Test1\\Desktop\\Sample.docx");
//添加背景顏色并設(shè)置顏色類型
document.getBackground().setType(BackgroundType.Color);
document.getBackground().setColor(Color.lightGray);
//保存結(jié)果文檔
document.saveToFile("output/AddSolidColor.docx", FileFormat.Docx);
??? }
}
效果圖:
2)添加漸變色背景色
import com.spire.doc.*;
import com.spire.doc.documents.BackgroundType;
import com.spire.doc.documents.GradientShadingStyle;
import com.spire.doc.documents.GradientShadingVariant;
import java.awt.*;
public class GradientBackgroundColor {
public static void main(String[] args) {
//加載Word示例文檔
Document document= new Document("C:\\Users\\Test1\\Desktop\\Sample.docx");
//添加背景顏色并設(shè)置顏色類型
document.getBackground().setType(BackgroundType.Gradient);
document.getBackground().getGradient().setColor1(Color.white);
document.getBackground().getGradient().setColor2(Color.cyan);
document.getBackground().getGradient().setShadingVariant(GradientShadingVariant.
Shading_Down);
document.getBackground().getGradient().setShadingStyle(GradientShadingStyle.
Horizontal);
//保存結(jié)果文檔
document.saveToFile("output/AddGradientColor.docx", FileFormat.Docx_2013);
??? }
}
效果圖:
示例2 給文檔中的指定段落或文字添加背景色
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.*;
import java.awt.*;
public class SetParagraphShading {
public static void main(String[] args) {
//加載Word示例文檔
Document document = new Document();
document.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.docx");
//獲取文檔中的指定段落
Paragraph paragaph =document.getSections().get(0).getParagraphs().get(3);
//給指定段落添加背景色
paragaph.getFormat().setBackColor(Color.yellow);
//獲取文檔中的指定文本
paragaph = document.getSections().get(0).getParagraphs().get(1);
TextSelection selection =paragaph.find("圣誕節(jié)", true, false);
//給指定文本添加背景色
TextRange range = selection.getAsOneRange();
range.getCharacterFormat().setTextBackgroundColor(Color.pink);
//保存結(jié)果文檔
document.saveToFile("output/AddParagraphShading.docx", FileFormat.Docx_2013);
??? }
}
效果圖: