Word文档中,可直接通过【设计】-【页面颜色】页面颜色,通过Java代码可参考如下设置方法:

1. 设置单一颜色背景

doc.getBackground().setType(BackgroundType.Color);
doc.getBackground().setColor(Color.PINK);

2. 设置渐变背景

doc.getBackground().setType(BackgroundType.Gradient);
doc.getBackground().getGradient().setColor1(Color.white);
doc.getBackground().getGradient().setColor2(Color.green);

3. 设置图片背景

String img= "lye.png";
Document doc = new Document(input);
doc.getBackground().setType(BackgroundType.Picture);
doc.getBackground().setPicture(img);

但是通过这些方式添加的页面背景只能应用于整个文档页面,如果需要只对某些页面设置不        同其他页面的背景,这种方法并不奏效。因此,本文总结了可实现多个页面设置不同背景的方法。

考虑到只需设置首页背景不同,或者多个页面不同背景的情况,简单分为了两种情况来介绍,但是方法都是类似的。

程序开发环境:

1. IDEA

2. jdk1.8.0

3.Spire.Doc.jar

情况1:只需设置首页页面背景不同

【Java】

import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextWrappingStyle;
import com.spire.doc.documents.VerticalOrigin;
import com.spire.doc.fields.DocPicture;public class DifferentPageBackground1 {public static void main(String[] args) {//加载Word测试文档Document doc = new Document();doc.loadFromFile("测试.docx");//获取第一节Section section = doc.getSections().get(0);//设置首页页眉页脚不同section.getPageSetup().setDifferentFirstPageHeaderFooter(true);//获取首页页眉HeaderFooter firstpageheader = section.getHeadersFooters().getFirstPageHeader();firstpageheader.getParagraphs().clear();//清除首页页眉默认的段落格式(若不清除原有段落中的格式,生成的文档效果中页眉中有一条横线)//重新添加段落Paragraph firstpara= firstpageheader.addParagraph();//添加图片到段落,设置图片格式DocPicture pic0 = firstpara.appendPicture("1.png");pic0.setTextWrappingStyle(TextWrappingStyle.Behind);pic0.setHorizontalAlignment(ShapeHorizontalAlignment.Center);pic0.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);//获取页面宽度、高度int width = (int) section.getPageSetup().getPageSize().getWidth();int height = (int) section.getPageSetup().getPageSize().getHeight();//设置图片大小,铺满页面pic0.setWidth(width);pic0.setHeight(height);//同理设置其他页面的页眉HeaderFooter otherheader = section.getHeadersFooters().getHeader();otherheader.getParagraphs().clear();Paragraph otherpara = otherheader.addParagraph();DocPicture pic1 = otherpara.appendPicture("2.png");pic1.setTextWrappingStyle(TextWrappingStyle.Behind);pic1.setHorizontalAlignment(ShapeHorizontalAlignment.Center);pic1.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);pic1.setWidth(width);pic1.setHeight(height);//保存文档doc.saveToFile("result.docx",FileFormat.Docx_2013);doc.dispose();}
}

情况2:设置多个页面背景不同

需要说明的是,给多个页面设置不同页面是基于不同节上设置的,因此需要在文档中设置分节(插入分节符),这里测试文档中已经设置了多个分节,如果需要代码设置分节可以参考插入分节符的方法:

Document doc = new Document();
doc.loadFromFile("测试.docx");
//在指定段落后添加分节符
Paragraph paragraph = doc.getSections().get(0).getParagraphs().get(5);
paragraph.insertSectionBreak(SectionBreakType.No_Break);

【Java】

import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextWrappingStyle;
import com.spire.doc.documents.VerticalOrigin;
import com.spire.doc.fields.DocPicture;public class DifferentPageBackground2 {public static void main(String[] args) {//加载Word测试文档Document doc = new Document();doc.loadFromFile("测试.docx");//获取第一节中的页眉,添加图片,调整图片格式,铺满页面Section section1 = doc.getSections().get(0);HeaderFooter header1 = section1.getHeadersFooters().getHeader();header1.getParagraphs().clear();Paragraph para1= header1.addParagraph();DocPicture pic1 = para1.appendPicture("1.png");pic1.setTextWrappingStyle(TextWrappingStyle.Behind);pic1.setHorizontalAlignment(ShapeHorizontalAlignment.Center);pic1.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);int width = (int) section1.getPageSetup().getPageSize().getWidth();int height = (int) section1.getPageSetup().getPageSize().getHeight();pic1.setWidth(width);pic1.setHeight(height);//同理设置第二节页眉中的图片Section section2 = doc.getSections().get(1);HeaderFooter header2 = section2.getHeadersFooters().getHeader();header2.getParagraphs().clear();Paragraph para2= header2.addParagraph();DocPicture pic2 = para2.appendPicture("2.png");pic2.setTextWrappingStyle(TextWrappingStyle.Behind);pic2.setHorizontalAlignment(ShapeHorizontalAlignment.Center);pic2.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);pic2.setWidth(width);pic2.setHeight(height);//同理设置第三节中的页眉中的图片Section section3 = doc.getSections().get(2);HeaderFooter header3 = section3.getHeadersFooters().getHeader();header3.getParagraphs().clear();Paragraph para3= header3.addParagraph();DocPicture pic3 = para3.appendPicture("3.png");pic3.setTextWrappingStyle(TextWrappingStyle.Behind);pic3.setHorizontalAlignment(ShapeHorizontalAlignment.Center);pic3.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);pic3.setWidth(width);pic3.setHeight(height);//保存文档doc.saveToFile("result2.docx",FileFormat.Docx_2013);doc.dispose();}
}

总结

对Word中的不同页面设置不同背景,需要几个重要步骤:

1. 设置文档分节

2. 设置页眉图片,并调整图片格式以铺满整个页面

3. 运行程序生成文档

同理,在设置Word水印时,默认的方法也只能生成一个水印文字效果,要实现水印平铺的效果,也可以通过在页眉中添加文字的方法来实现,需要的可以参考这篇文章,里面介绍了如何来实现,这里不作赘述了。

Java 给Word不同页面设置不同背景相关推荐

  1. python设置word背景色_Java 给Word不同页面设置不同背景

    Java 给Word不同 Word文档中,可直接通过[设计]-[页面颜色]页面颜色,通过Java代码可参考如下设置方法: 1. 设置单一颜色 doc.getBackground().setType(B ...

  2. java word 颜色设置_Java 给Word文档添加背景颜色

    前言 当我们制作好Word文档后,想要让枯燥乏味的文本显得有活力,或是想高亮显示文档中指定的段落或文字,此时我们可以通过为整个文档或某特定文字/段落添加背景色的形式来实现.本文将使用Free Spir ...

  3. Java 读取 Word文档的字体、字号、文字颜色、文字背景、文字是否加粗或倾斜、文字下划线、段落等属性

    Work库:free spire.doc.jar 3.9.0 由于这个包比较大,maven依赖容易下载失败,故此提供百度云下载地址,下载地址在最下面         可支持读取字体.字号.文字颜色.文 ...

  4. java 加背景颜色_Java 给Word文档添加背景颜色

    前言 当我们制作好Word文档后,想要让枯燥乏味的文本显得有活力,或是想高亮显示文档中指定的段落或文字,此时我们可以通过为整个文档或某特定文字/段落添加背景色的形式来实现.本文将使用Free Spir ...

  5. 记录一次用Java生成word文档的经验

    业务背景 最近接到一个需求需要将学员的基本信息生成word格式的内容,word的格式如下图所示 开发的任务就是将学员的信息替换掉表格中的** 即可,感觉还蛮简单的. 相信大家以前做的最多的是Java和 ...

  6. Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法

    本文分享在Linux系统下,通过Java 程序代码将Word转为PDF文档时,结果文档内容出现乱码该如何解决.具体可参考如下内容: 1.问题出现的背景 在Windows系统中,使用Spire.Doc ...

  7. Java使用Word的模板引擎 Poi-tl操控导出word文件

    Poi-tl介绍 poi-tl是一个基于Apache POI的Java库,用于操作Microsoft Office文档,包括Word文档(.docx).Excel电子表格(.xlsx)和PowerPo ...

  8. [原创]java读写word文档,完美解决方案

    [原创]java读写word文档,完美解决方案 参考文章: (1)[原创]java读写word文档,完美解决方案 (2)https://www.cnblogs.com/ziwuxian/p/89812 ...

  9. Aspose.Java实现word转pdf,添加水印等操作

    Aspose.Java实现word转pdf,添加水印等操作 一. word转pdf 二. 文档插入水印 Aspose是一款商用版控件,支持各类文档操作,这里主要介绍如何在Springboot项目中使用 ...

最新文章

  1. java unsafe获取指针_【实战Java高并发程序设计 1】Java中的指针:Unsafe类
  2. 快速排序的实现与注意点
  3. Vivado使用误区与进阶——XDC约束技巧之I/O篇 (上)
  4. python多线程爬虫实例-python多线程爬虫实例讲解
  5. buu [BJDCTF 2nd]cat_flag
  6. 入门Java要学习的一些基本和高级工具
  7. K12计算机科学标准,计算机科学新主张(K12基础教育) 翻译.pptx
  8. 编写一个学生类 student,包含的属性有学号、姓名年龄,将所有学生存储在一个数组中
  9. 理解jQuery的 $ 和 $( )的含义
  10. 《程序设计技术》第四章例程
  11. crawl spider
  12. python共享单车案例分析_文科生学Python系列20:共享单车案例2(相关性分析)
  13. 使用jQuery填充tbody时,填充了两倍数据
  14. 达芬奇系列教程1——安装及屏幕显示字体太小问题解决
  15. TileColor快速指导:注册ocx文件
  16. 长沙麻将APP思路整理
  17. 陈大佬:机器学习科研这十年
  18. 程序员如何拨开云雾拿到高薪
  19. java 笛卡尔积_笛卡儿积的java实现
  20. 网络变压器是干什么用的?(以太网 网络 LAN 局域网 通讯隔离滤波器)生产工厂/产品原理图/常用产品/价格影响因素

热门文章

  1. 关于U盘烧录iso问题
  2. [USACO18JAN]Lifeguards P 洛谷黑题,单调队列优化DP
  3. 发布会直播平台哪家好
  4. Excel应用-使用VBA自动绘制所有适用类型的Excel图表(代码及效果图)
  5. word中在指定位置插入图片
  6. alert的确定和取消
  7. 国外数据下载(阿里云+七牛云)
  8. 朴素贝叶斯详解及中文舆情分析(附代码实践)
  9. 影评系统的机遇和挑战
  10. CV大牛/实验室主页