mirror of
https://gitee.com/dromara/hutool.git
synced 2026-02-09 09:16:26 +08:00
修复Word07Writerrun.setColor()的颜色十六进制转换逻辑(pr#4164@Github)
This commit is contained in:
@@ -51,7 +51,7 @@ public record FontStyle(Font font, Color color) {
|
||||
run.setBold(font.isBold());
|
||||
run.setItalic(font.isItalic());
|
||||
if (null != color) {
|
||||
run.setColor(String.format("%02X", color.getRGB()));
|
||||
run.setColor(String.format("%06X", color.getRGB() & 0xFFFFFF));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,9 +22,12 @@ import cn.hutool.v7.core.io.file.FileUtil;
|
||||
import cn.hutool.v7.core.lang.Console;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
@@ -33,6 +36,8 @@ import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
@SuppressWarnings("resource")
|
||||
public class WordWriterTest {
|
||||
|
||||
@@ -138,4 +143,17 @@ public class WordWriterTest {
|
||||
private BigDecimal amount;
|
||||
private BigDecimal onYear;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addTextShouldStripAlphaAndUseRgbHex() {
|
||||
final Word07Writer writer = new Word07Writer();
|
||||
final Color colorWithAlpha = new Color(0x12, 0x34, 0x56, 0x7F);
|
||||
|
||||
writer.addText(new FontStyle("宋体", Font.PLAIN, 12, colorWithAlpha), "带颜色的段落");
|
||||
|
||||
final XWPFParagraph paragraph = writer.getDoc().getParagraphArray(0);
|
||||
final XWPFRun run = paragraph.getRuns().get(0);
|
||||
assertEquals("123456", run.getColor());
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user