通过像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)设置背景颜色(页面颜色)?...相关推荐

  1. 浅析如何在Nancy中生成API文档

    前言 前后端分离,或许是现如今最为流行开发方式,包括UWP.Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互. 但是这样对前端开发和APP开发就会面临这样一个问题:如何知 ...

  2. 如何在Mongoose中更新/更新文档?

    本文翻译自:How do I update/upsert a document in Mongoose? Perhaps it's the time, perhaps it's me drowning ...

  3. java word 纸张大小_如何在Java中为Word文档(.doc或.docx)设置背景色(页面颜色)?...

    通过诸如http://poi.apache.org之类的某些库,我们可以创建具有任何文本颜色的 Word文档 ,但是对于文本的 背景 或突出显示,我没有找到任何解决方案. 页面颜色以手动方式显示!: ...

  4. java 千位分隔符_如何在Java中设置千位分隔符?

    问题 如何在Java中设置千位分隔符?我有BigDecimal的String表示,我想设置千位分隔符并返回String. #1 热门回答(180 赞) 你可以使用格式功能","; ...

  5. java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

    java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...

  6. java swing 列表框_如何在Swing中使用列表框?

    下面的示例展示了如何在Java Swing应用程序中使用标准列表框. 使用以下API - JList - 创建标准列表. JList.setSelectedIndex(index); - 选择项目. ...

  7. java 精确到微妙_如何在Java中以微秒精度测量时间?

    我在Internet上看到应该使用System.nanoTime(),但这对我不起作用-它为我提供了毫秒级的时间.我只需要函数执行前后的微秒,就可以知道需要多长时间.我正在使用Windows XP. ...

  8. java整数的因式分解_如何在Java中找到整数的质数-因式分解

    java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...

  9. Java poi 列移动_如何在java xssf中移動列poi

    如何將現有列數據和格式化到Apache POI中的下一列並將下一列移到右側.如何在java xssf中移動列poi 我試過了. 讓說我的代碼是這樣... XSSFCell oldCell = work ...

最新文章

  1. 获取GridView中的某列值
  2. 高中计算机二级考试是考什么时候,浅谈有效实施高中计算机教学的方法_计算机二级考试时间...
  3. python哨兵循环_Python通用循环的构造方法实例分析
  4. linux下cmake命令行,深入理解CMake(1): CMake命令行参数
  5. 设计模式(二) 工厂模式
  6. win10下的python3.5+ opencv安装攻略
  7. POJ2528 线段树+离散化+hash(成段更新)
  8. Java中值传递和引用传递原理以及区别
  9. 王者荣耀4月14日服务器维护,王者荣耀4月14日更新了什么内容?4月14日更新内容介绍...
  10. Subarray Sum
  11. java js倒计时_Java实现倒计时的方法详解
  12. JAVA处理模型的步骤,java-处理模型中条件字段的最佳方法
  13. 【渝粤教育】国家开放大学2019年春季 2766养羊技术 参考试题
  14. java aes加密 cbc_AES加密,CBC模式,0填充
  15. [附源码]Java计算机毕业设计SSM餐厅订餐系统
  16. 计算机毕业设计Java蔚蓝在线学习平台(源码+系统+mysql数据库+Lw文档)
  17. linux bridge 添加fdb,Linux协议栈--网桥设备的实现
  18. Switch Transformer模型解读-Introduction
  19. python龙卷风框架,龙卷风python的简单异步示例
  20. 机器学习入门,转载博文,转自 飞鸟各投林

热门文章

  1. matlab .opj,HRTF 3D 音效 Matlab实现
  2. [转载] 心目中的编程高手-----后学者以自励
  3. 逻辑学笔记全(浙江大学mooc慕课笔记整理:从命题到缪误)
  4. 【7036】2年前的今晚,我给HR的转岗申请
  5. RK3399平台开发系列讲解(高速设备驱动篇)6.45、蓝牙系统架构
  6. ng-alain中的st表格
  7. Java内存模型(JMM)
  8. 学习笔记(12):A110测试-测试课程申请1888
  9. QQ群文件下载速度慢-解决办法
  10. HelloChart框架动态加载数据