From 59d155e00f74ab3133a00a45ebd16af850aee793 Mon Sep 17 00:00:00 2001 From: Looly Date: Sat, 12 Dec 2020 14:34:17 +0800 Subject: [PATCH] fix code --- .../java/cn/hutool/poi/ofd/OfdWriter.java | 49 +++++++++++++++++-- .../java/cn/hutool/poi/ofd/OfdWriterTest.java | 16 ++++++ 2 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 hutool-poi/src/test/java/cn/hutool/poi/ofd/OfdWriterTest.java diff --git a/hutool-poi/src/main/java/cn/hutool/poi/ofd/OfdWriter.java b/hutool-poi/src/main/java/cn/hutool/poi/ofd/OfdWriter.java index b0271c490..cd264faaf 100644 --- a/hutool-poi/src/main/java/cn/hutool/poi/ofd/OfdWriter.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/ofd/OfdWriter.java @@ -7,29 +7,72 @@ import org.ofdrw.layout.element.Div; import org.ofdrw.layout.element.Paragraph; import java.io.Closeable; +import java.io.File; +import java.io.OutputStream; import java.io.Serializable; import java.nio.file.Path; +/** + * OFD文件生成器 + * + * @author looly + * @since 5.5.3 + */ public class OfdWriter implements Serializable, Closeable { private static final long serialVersionUID = 1L; - private final Path destFile; private final OFDDoc doc; + /** + * 构造 + * + * @param file 生成的文件 + */ + public OfdWriter(File file){ + this(file.toPath()); + } + + /** + * 构造 + * + * @param file 生成的文件 + */ public OfdWriter(Path file){ - this.destFile = file; this.doc = new OFDDoc(file); } + /** + * 构造 + * + * @param out 需要输出的流 + */ + public OfdWriter(OutputStream out){ + this.doc = new OFDDoc(out); + } + + /** + * 增加文本内容 + * + * @param font 字体 + * @param texts 文本 + * @return this + */ public OfdWriter addText(Font font, String... texts){ final Paragraph paragraph = new Paragraph(); - paragraph.setDefaultFont(font); + if(null != font){ + paragraph.setDefaultFont(font); + } for (String text : texts) { paragraph.add(text); } return add(paragraph); } + /** + * 增加节点, + * @param div 节点,可以是段落、Canvas、Img或者填充 + * @return this + */ public OfdWriter add(Div div){ this.doc.add(div); return this; diff --git a/hutool-poi/src/test/java/cn/hutool/poi/ofd/OfdWriterTest.java b/hutool-poi/src/test/java/cn/hutool/poi/ofd/OfdWriterTest.java new file mode 100644 index 000000000..da24b5b8a --- /dev/null +++ b/hutool-poi/src/test/java/cn/hutool/poi/ofd/OfdWriterTest.java @@ -0,0 +1,16 @@ +package cn.hutool.poi.ofd; + +import cn.hutool.core.io.FileUtil; +import org.junit.Ignore; +import org.junit.Test; + +public class OfdWriterTest { + + @Test + @Ignore + public void writeTest(){ + final OfdWriter ofdWriter = new OfdWriter(FileUtil.file("d:/test/test.ofd")); + ofdWriter.addText(null, "测试文本"); + ofdWriter.close(); + } +}