mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-03 20:27:58 +08:00
add method
This commit is contained in:
parent
59d155e00f
commit
54fdf60bc3
@ -487,4 +487,17 @@ public class PathUtil {
|
||||
public static boolean isSymlink(Path path) {
|
||||
return Files.isSymbolicLink(path);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断文件或目录是否存在
|
||||
*
|
||||
* @param path 文件
|
||||
* @param isFollowLinks 是否跟踪软链(快捷方式)
|
||||
* @return 是否存在
|
||||
* @since 5.5.3
|
||||
*/
|
||||
public static boolean exists(Path path, boolean isFollowLinks) {
|
||||
final LinkOption[] options = isFollowLinks ? new LinkOption[0] : new LinkOption[]{LinkOption.NOFOLLOW_LINKS};
|
||||
return Files.exists(path, options);
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,19 @@
|
||||
package cn.hutool.poi.ofd;
|
||||
|
||||
import cn.hutool.core.io.IORuntimeException;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.io.file.PathUtil;
|
||||
import org.ofdrw.font.Font;
|
||||
import org.ofdrw.layout.OFDDoc;
|
||||
import org.ofdrw.layout.edit.Annotation;
|
||||
import org.ofdrw.layout.element.Div;
|
||||
import org.ofdrw.layout.element.Img;
|
||||
import org.ofdrw.layout.element.Paragraph;
|
||||
import org.ofdrw.reader.OFDReader;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.io.Serializable;
|
||||
import java.nio.file.Path;
|
||||
@ -38,8 +44,16 @@ public class OfdWriter implements Serializable, Closeable {
|
||||
* @param file 生成的文件
|
||||
*/
|
||||
public OfdWriter(Path file) {
|
||||
try {
|
||||
if(PathUtil.exists(file, true)){
|
||||
this.doc = new OFDDoc(new OFDReader(file), file);
|
||||
} else{
|
||||
this.doc = new OFDDoc(file);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new IORuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造
|
||||
@ -68,8 +82,39 @@ public class OfdWriter implements Serializable, Closeable {
|
||||
return add(paragraph);
|
||||
}
|
||||
|
||||
/**
|
||||
* 追加图片
|
||||
*
|
||||
* @param picFile 图片文件
|
||||
* @param width 宽度
|
||||
* @param height 高度
|
||||
* @return this
|
||||
*/
|
||||
public OfdWriter addPicture(File picFile, int width, int height) {
|
||||
return addPicture(picFile.toPath(), width, height);
|
||||
}
|
||||
|
||||
/**
|
||||
* 追加图片
|
||||
*
|
||||
* @param picFile 图片文件
|
||||
* @param width 宽度
|
||||
* @param height 高度
|
||||
* @return this
|
||||
*/
|
||||
public OfdWriter addPicture(Path picFile, int width, int height) {
|
||||
final Img img;
|
||||
try {
|
||||
img = new Img(width, height, picFile);
|
||||
} catch (IOException e) {
|
||||
throw new IORuntimeException(e);
|
||||
}
|
||||
return add(img);
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加节点,
|
||||
*
|
||||
* @param div 节点,可以是段落、Canvas、Img或者填充
|
||||
* @return this
|
||||
*/
|
||||
@ -78,6 +123,21 @@ public class OfdWriter implements Serializable, Closeable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加节点,
|
||||
*
|
||||
* @param annotation 节点,可以是段落、Canvas、Img或者填充
|
||||
* @return this
|
||||
*/
|
||||
public OfdWriter add(int page, Annotation annotation) {
|
||||
try {
|
||||
this.doc.addAnnotation(page, annotation);
|
||||
} catch (IOException e) {
|
||||
throw new IORuntimeException(e);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
IoUtil.close(this.doc);
|
||||
|
Loading…
Reference in New Issue
Block a user