java word 颜色设置_如何在Java中为word文档(.doc或.docx)设置背景颜色(页面颜色)?...
通过像http://poi.apache.org这样的库,我们可以用任何文本颜色创建word文档,但是对于文本的背景或突出显示,我没有找到任何解决方案.
手动方式的单词页面颜色!:
这是我通过poi.apache创建word文档的主要代码
// Blank Document
@SuppressWarnings("resource")
XWPFDocument document = new XWPFDocument();
// Write the Document in file system
FileOutputStream out = new FileOutputStream(new File(file_address));
// create Paragraph
XWPFParagraph paragraph = document.createParagraph();
paragraph.setAlignment(ParagraphAlignment.RIGHT);
XWPFRun run = paragraph.createRun();
run.setFontFamily(font_name);
run.setFontSize(font_size);
// This only set text color not background!
run.setColor(hex_color);
for (String s : text_array) {
run.setText(s);
run.addCarriageReturn();
}
document.write(out);
out.close();
解决方法:
更新:XWPF是创建word文档文件的最新方式,但只能通过旧格式版本(.doc)的HWPF设置背景
对于* .doc(即POI的HWPF组件):
>突出显示文字:
看看setHighlighted()
>背景颜色:
我想你的意思是段落的背景(AFAIK,Word也允许为整个页面着色,这是另一回事)
有一个setShading()允许您为段落提供前景色和背景色(通过SHDAbstractType的setCvFore()和setCvBack()). IIRC,它是您想要设置的前景,以便为您的段落着色.背景仅与由两种(交替)颜色组成的阴影相关.
基础数据结构名为Shd80([MS-DOC],2.9.248).还有SHDOperand([MS-DOC],2.9.249),它反映了Word97之前Word的功能. [MS-DOC]是二进制Word文件格式规范,可在MSDN上免费获得.
编辑:
以下是一些代码来说明以上内容:
try {
HWPFDocument document = [...]; // comes from somewhere
Range range = document.getRange();
// Background shading of a paragraph
ParagraphProperties pprops = new ParagraphProperties();
ShadingDescriptor shd = new ShadingDescriptor();
shd.setCvFore(Colorref.valueOfIco(0x07)); // yellow; ICO
shd.setIpat(0x0001); // solid background; IPAT
pprops.setShading(shd);
Paragraph p1 = range.insertBefore(pprops, StyleSheet.NIL_STYLE);
p1.insertBefore("shaded paragraph");
// Highlighting of individual characters
Paragraph p2 = range.insertBefore(new ParagraphProperties(), StyleSheet.NIL_STYLE);
CharacterRun cr = p2.insertBefore("highlighted text\r");
cr.setHighlighted((byte) 0x06); // red; ICO
document.write([...]); // document goes to somewhere
} catch (IOException e) {
e.printStackTrace();
}
> ICO是一种颜色结构
> IPAT是预定义着色样式的列表
标签:java,background-color,ms-word,apache-poi
来源: https://codeday.me/bug/20191007/1868175.html
java word 颜色设置_如何在Java中为word文档(.doc或.docx)设置背景颜色(页面颜色)?...相关推荐
- 浅析如何在Nancy中生成API文档
前言 前后端分离,或许是现如今最为流行开发方式,包括UWP.Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互. 但是这样对前端开发和APP开发就会面临这样一个问题:如何知 ...
- 如何在Mongoose中更新/更新文档?
本文翻译自:How do I update/upsert a document in Mongoose? Perhaps it's the time, perhaps it's me drowning ...
- java word 纸张大小_如何在Java中为Word文档(.doc或.docx)设置背景色(页面颜色)?...
通过诸如http://poi.apache.org之类的某些库,我们可以创建具有任何文本颜色的 Word文档 ,但是对于文本的 背景 或突出显示,我没有找到任何解决方案. 页面颜色以手动方式显示!: ...
- java 千位分隔符_如何在Java中设置千位分隔符?
问题 如何在Java中设置千位分隔符?我有BigDecimal的String表示,我想设置千位分隔符并返回String. #1 热门回答(180 赞) 你可以使用格式功能","; ...
- java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧
java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...
- java swing 列表框_如何在Swing中使用列表框?
下面的示例展示了如何在Java Swing应用程序中使用标准列表框. 使用以下API - JList - 创建标准列表. JList.setSelectedIndex(index); - 选择项目. ...
- java 精确到微妙_如何在Java中以微秒精度测量时间?
我在Internet上看到应该使用System.nanoTime(),但这对我不起作用-它为我提供了毫秒级的时间.我只需要函数执行前后的微秒,就可以知道需要多长时间.我正在使用Windows XP. ...
- java整数的因式分解_如何在Java中找到整数的质数-因式分解
java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...
- Java poi 列移动_如何在java xssf中移動列poi
如何將現有列數據和格式化到Apache POI中的下一列並將下一列移到右側.如何在java xssf中移動列poi 我試過了. 讓說我的代碼是這樣... XSSFCell oldCell = work ...
最新文章
- 获取GridView中的某列值
- 高中计算机二级考试是考什么时候,浅谈有效实施高中计算机教学的方法_计算机二级考试时间...
- python哨兵循环_Python通用循环的构造方法实例分析
- linux下cmake命令行,深入理解CMake(1): CMake命令行参数
- 设计模式(二) 工厂模式
- win10下的python3.5+ opencv安装攻略
- POJ2528 线段树+离散化+hash(成段更新)
- Java中值传递和引用传递原理以及区别
- 王者荣耀4月14日服务器维护,王者荣耀4月14日更新了什么内容?4月14日更新内容介绍...
- Subarray Sum
- java js倒计时_Java实现倒计时的方法详解
- JAVA处理模型的步骤,java-处理模型中条件字段的最佳方法
- 【渝粤教育】国家开放大学2019年春季 2766养羊技术 参考试题
- java aes加密 cbc_AES加密,CBC模式,0填充
- [附源码]Java计算机毕业设计SSM餐厅订餐系统
- 计算机毕业设计Java蔚蓝在线学习平台(源码+系统+mysql数据库+Lw文档)
- linux bridge 添加fdb,Linux协议栈--网桥设备的实现
- Switch Transformer模型解读-Introduction
- python龙卷风框架,龙卷风python的简单异步示例
- 机器学习入门,转载博文,转自 飞鸟各投林