python设置word背景色_Java 给Word不同页面设置不同背景
Java 给Word不同
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水印时,默认的方法也只能生成一个水印文字效果,要实现水印平铺的效果,也可以通过在页眉中添加文字的方法来实现,需要的可以参考这篇文章,里面介绍了如何来实现,这里不作赘述了。
python设置word背景色_Java 给Word不同页面设置不同背景相关推荐
- java如何解析word大纲_java解析word文件
POI是Apache的一个开源项目,可以到Apache网站下载相应的jar包文件,及其源文件. POI提供了提取一些非TXT文本中文本内容的API,比如提取Word,Excel等,使用起来非常方便. ...
- java word 模板_java通过word模板生成word文档
public static void main(String[] args) { //模板.文件.图片路径 String workPath=System.getProperty("user. ...
- easypoi导出word表格_Java导出word文档(POIamp;Spire.Doc)
导出Word文档整理 前言 业务需要将数据库中存的图片导出成word文档,并给这些图片按照文件名生成目录.以下为解决方案,通常在导出文件时,poi使用的频率较高,可以导出各类模板类的和非模板类的文 ...
- java word 水印_Java 添加Word文本水印、图片水印
水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印图片水印使用工具:Free Spire.D ...
- java word插件开发_java生成word的几种方案
1. Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用 ...
- java生成word排版_java生成word(文字和图片)
1.整体思路 利用xml模板,在模板中预留占位标识(${yourContent}),然后将xml转为ftl文件,通过Map传值填充对应的内容即可,word其实和html一样,也有自己的xml标签,表头 ...
- java word生成_JAVA生成WORD工具类
该方法借助freemarker的JAR包即可. 参考: 所需工具: 步骤: 1.在word中编辑好模版样式,设置好占位符,注意图片最好先黏上去 2.在word中,文件-另存为-XML格式 3.使用工具 ...
- java如何解析word大纲_java读取word并解析
java POI3.8处理word模板,文字 图片 表格 将word模板里面的特殊标签换成 文字,图片, 以下是处理的代码 特殊标签最好的复制粘贴到word模板里面 ,因为手动敲入可能有点小的差别都导 ...
- java word表格_Java 添加Word表格行或列
import com.spire.doc.*; import com.spire.doc.documents.BorderStyle; import java.awt.*; public class ...
最新文章
- Java中的synchronized与volatile关键字
- centos 设置双网卡,双网关
- qemu核心机制分析-协程coroutine
- usb3.0 ssd 测试软件,当USB3.0遇上SSD,TB败得移动硬盘盒测试
- 为数据访问代码编写测试–不测试框架
- [Hands On ML] 4. 训练模型
- [实战]java回调函数
- python 库 镜像_python安装镜像库
- ShadeGraph教程之节点详解2:Channel Nodes
- linux定位到文件,locate 在linux下快速定位文档
- Apache Flink CDC 批流融合技术原理分析
- XP系统安装python
- 海康威视SDK使用总结
- PROFINET 建立连接的原理
- 零差检测,外差检测 以及 激光雷达中的零差探测和外差探测
- VMware安装windows7x64时提示找不到CD/DVD驱动器
- JS实现双人五子棋简易游戏(上)
- GameCenter 使用指南
- 引入echarts 报错xAxis “0“ not found
- 【IntelliJ IDEA】idea修改文件的file is read-only
热门文章
- 「精研科技」× 企企通,全球MIM龙头借助采购供应商数字化向多领域突破
- 上海高考惊现0分作文 只因描写同性恋题材
- Python自学笔记6:实操案例三(十进制转换二、八、十六进制),手机充值,计算能量消耗,预测未来子女身高
- ui(new Ui::MainWindow) 解惑
- Cortex-M3 VS ARM7
- SAP 损益类科目余额结转到未分配利润科目
- 海思SD3403开发板学习(三)
- 安装Rstudio-server,使用官网的程序下载安装不合理?其对应的安装包是Ubuntu14,而我的系统是Ubuntu18.
- 微信高级群发之二根据分组进行群发
- 星起航:抖音小店适合去做吗