mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-12-06 17:18:54 +08:00
!1388 feat:Word生成器,增加段落新增字体颜色参数
Merge pull request !1388 from liyong473/v5-dev
This commit is contained in:
commit
3d2dd38add
@ -13,7 +13,7 @@ import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
|||||||
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
||||||
|
|
||||||
import java.awt.Font;
|
import java.awt.*;
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -102,7 +102,19 @@ public class Word07Writer implements Closeable {
|
|||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
public Word07Writer addText(Font font, String... texts) {
|
public Word07Writer addText(Font font, String... texts) {
|
||||||
return addText(null, font, texts);
|
return addText(null, font, null, texts);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加一个段落
|
||||||
|
*
|
||||||
|
* @param font 字体信息{@link Font}
|
||||||
|
* @param color 字体颜色{@link Color}
|
||||||
|
* @param texts 段落中的文本,支持多个文本作为一个段落
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public Word07Writer addText(Font font, Color color, String... texts) {
|
||||||
|
return addText(null, font, color, texts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -110,10 +122,11 @@ public class Word07Writer implements Closeable {
|
|||||||
*
|
*
|
||||||
* @param align 段落对齐方式{@link ParagraphAlignment}
|
* @param align 段落对齐方式{@link ParagraphAlignment}
|
||||||
* @param font 字体信息{@link Font}
|
* @param font 字体信息{@link Font}
|
||||||
|
* @param color 字体颜色{@link Color}
|
||||||
* @param texts 段落中的文本,支持多个文本作为一个段落
|
* @param texts 段落中的文本,支持多个文本作为一个段落
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
public Word07Writer addText(ParagraphAlignment align, Font font, String... texts) {
|
public Word07Writer addText(ParagraphAlignment align, Font font, Color color, String... texts) {
|
||||||
final XWPFParagraph p = this.doc.createParagraph();
|
final XWPFParagraph p = this.doc.createParagraph();
|
||||||
if (null != align) {
|
if (null != align) {
|
||||||
p.setAlignment(align);
|
p.setAlignment(align);
|
||||||
@ -129,6 +142,10 @@ public class Word07Writer implements Closeable {
|
|||||||
run.setBold(font.isBold());
|
run.setBold(font.isBold());
|
||||||
run.setItalic(font.isItalic());
|
run.setItalic(font.isItalic());
|
||||||
}
|
}
|
||||||
|
if (null != color) {
|
||||||
|
String hexColor = String.format("%02X", color.getRGB());
|
||||||
|
run.setColor(hexColor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import cn.hutool.core.lang.Console;
|
|||||||
import org.junit.jupiter.api.Disabled;
|
import org.junit.jupiter.api.Disabled;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import java.awt.Font;
|
import java.awt.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@ -23,6 +23,7 @@ public class WordWriterTest {
|
|||||||
Word07Writer writer = new Word07Writer();
|
Word07Writer writer = new Word07Writer();
|
||||||
writer.addText(new Font("方正小标宋简体", Font.PLAIN, 22), "我是第一部分", "我是第二部分");
|
writer.addText(new Font("方正小标宋简体", Font.PLAIN, 22), "我是第一部分", "我是第二部分");
|
||||||
writer.addText(new Font("宋体", Font.PLAIN, 22), "我是正文第一部分", "我是正文第二部分");
|
writer.addText(new Font("宋体", Font.PLAIN, 22), "我是正文第一部分", "我是正文第二部分");
|
||||||
|
writer.addText(new Font("宋体", Font.PLAIN, 22), Color.RED, "我是正文第三部分", "我是正文第四部分");
|
||||||
writer.flush(FileUtil.file("e:/wordWrite.docx"));
|
writer.flush(FileUtil.file("e:/wordWrite.docx"));
|
||||||
writer.close();
|
writer.close();
|
||||||
Console.log("OK");
|
Console.log("OK");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user