Commit b975c2a8 by songxiang

新加的文件不提示 ,坑

parent 8030520d
...@@ -382,12 +382,12 @@ ...@@ -382,12 +382,12 @@
<version>2.0</version> <version>2.0</version>
</dependency> </dependency>
<!-- util sdk --> <!-- lombok -->
<dependency> <dependency>
<groupId>com.dcg.sdk</groupId> <groupId>org.projectlombok</groupId>
<artifactId>util-sdk</artifactId> <artifactId>lombok</artifactId>
<version>1.0.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>
package com.pcloud.common.utils.word.dto;
import java.util.List;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.TextAlignment;
import com.pcloud.common.utils.word.enums.ParagraphType;
import lombok.Getter;
import lombok.Setter;
/**
* word中的段落
*
* @author:songx
* @date:2019/5/27,19:00
*/
@Getter
@Setter
public class ParagraphDTO {
/**
* 段落类型
*/
private ParagraphType paragraphType;
/**
* 是否页眉
*/
private boolean header;
/**
* 是否页脚
*/
private boolean footer;
/**
* 段落前间距,与前一个段落之间的间距
*/
private int spacingBefore;
/**
* 段落后间距,与后一个段落之间的间距
*/
private int spacingAfter;
/**
* 段落纵向对齐
*/
private ParagraphAlignment paragraphAlignment;
/**
* 段落水平对齐
*/
private TextAlignment textAlignment;
/**
* 段落后空多少行
*/
private int afterEmpty;
/**
* 段落中的块,与run只能同时存在一个,runs优先级高
*/
private List<RunDTO> runs;
/**
* 段落中的块,与runs只能同时存在一个,runs优先级高
*/
private RunDTO run;
public static ParagraphDTO newInstance() {
return new ParagraphDTO();
}
/**
* 段落
*
* @param paragraphType
* @param run
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, RunDTO run) {
return newParagraph(paragraphType, null, null, run, 0);
}
/**
* 段落
*
* @param paragraphType
* @param run
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, RunDTO run, int afterEmpty) {
return newParagraph(paragraphType, null, null, run, afterEmpty);
}
/**
* 段落
*
* @param paragraphType
* @param run
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, TextAlignment textAlignment, RunDTO run,
int afterEmpty) {
return newParagraph(paragraphType, null, textAlignment, run, afterEmpty);
}
/**
* 段落
*
* @param paragraphType
* @param run
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, ParagraphAlignment paragraphAlignment,
RunDTO run, int afterEmpty) {
return newParagraph(paragraphType, paragraphAlignment, null, run, afterEmpty);
}
/**
* 段落
*
* @param paragraphType
* @param run
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, ParagraphAlignment paragraphAlignment,
TextAlignment textAlignment, RunDTO run, int afterEmpty) {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setRun(run);
paragraphDTO.setParagraphType(paragraphType);
paragraphDTO.setParagraphAlignment(paragraphAlignment);
paragraphDTO.setTextAlignment(textAlignment);
paragraphDTO.setAfterEmpty(afterEmpty);
return paragraphDTO;
}
/**
* 段落
*
* @param paragraphType
* @param runs
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, List<RunDTO> runs) {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setRuns(runs);
paragraphDTO.setParagraphType(paragraphType);
return paragraphDTO;
}
/**
* 段落
*
* @param paragraphType
* @param runs
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, List<RunDTO> runs, int afterEmpty) {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setRuns(runs);
paragraphDTO.setParagraphType(paragraphType);
paragraphDTO.setAfterEmpty(afterEmpty);
return paragraphDTO;
}
/**
* 段落
*
* @param paragraphType
* @param runs
* @return
*/
public static ParagraphDTO newParagraph(ParagraphType paragraphType, ParagraphAlignment paragraphAlignment,
List<RunDTO> runs, int afterEmpty) {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setRuns(runs);
paragraphDTO.setParagraphType(paragraphType);
paragraphDTO.setParagraphAlignment(paragraphAlignment);
paragraphDTO.setAfterEmpty(afterEmpty);
return paragraphDTO;
}
/**
* 页眉
*
* @param paragraphType
* @param run
* @return
*/
public static ParagraphDTO newHeader(ParagraphType paragraphType, RunDTO run) {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setHeader(true);
paragraphDTO.setRun(run);
paragraphDTO.setParagraphType(paragraphType);
return paragraphDTO;
}
/**
* 页眉
*
* @param paragraphType
* @param runs
* @return
*/
public static ParagraphDTO newHeader(ParagraphType paragraphType, List<RunDTO> runs) {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setHeader(true);
paragraphDTO.setRuns(runs);
paragraphDTO.setParagraphType(paragraphType);
return paragraphDTO;
}
/**
* 页脚
*
* @param paragraphType
* @param run
* @return
*/
public static ParagraphDTO newFooter(ParagraphType paragraphType, ParagraphAlignment alignment, RunDTO run) {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setFooter(true);
paragraphDTO.setRun(run);
paragraphDTO.setParagraphType(paragraphType);
paragraphDTO.setParagraphAlignment(alignment);
return paragraphDTO;
}
/**
* 空行
*
* @return
*/
public static ParagraphDTO newEmpty() {
ParagraphDTO paragraphDTO = ParagraphDTO.newInstance();
paragraphDTO.setRun(RunTextDTO.newEmpty());
paragraphDTO.setParagraphType(ParagraphType.text);
return paragraphDTO;
}
}
package com.pcloud.common.utils.word.dto;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* 段落中的块
*
* @author:songx
* @date:2019/5/27,19:03
*/
@Getter
@Setter
@ToString(callSuper = true)
public class RunDTO {
}
package com.pcloud.common.utils.word.dto;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* @author:songx
* @date:2017年12月7日,下午9:01:00
*/
@Getter
@Setter
@ToString(callSuper = true)
public class RunImageDTO extends RunDTO {
/**
* 图片地址,本地路径或者网络路径
*/
private String imageUrl;
/**
* 图片byte数组
*/
private byte[] imageByte;
/**
* 长度
*/
private int height;
/**
* 宽度
*/
private int width;
/**
* 前文本
*/
private List<RunTextDTO> beforeTexts;
/**
* 后文本
*/
private List<RunTextDTO> afterTexts;
/**
* 默认左对齐
*
* @param imageUrl
* @param height
* @param width
*/
public static RunImageDTO newImage(String imageUrl, int height, int width) {
return newImage(imageUrl, height, width, null, null);
}
/**
* 默认左对齐
*
* @param imageUrl
* @param height
* @param width
* @param beforeTexts
* @param afterTexts
*/
public static RunImageDTO newImage(String imageUrl, int height, int width, List<RunTextDTO> beforeTexts,
List<RunTextDTO> afterTexts) {
RunImageDTO runImageDTO = new RunImageDTO();
runImageDTO.setImageUrl(imageUrl);
runImageDTO.setHeight(height);
runImageDTO.setWidth(width);
runImageDTO.setBeforeTexts(beforeTexts);
runImageDTO.setAfterTexts(afterTexts);
return runImageDTO;
}
}
package com.pcloud.common.utils.word.dto;
import org.apache.poi.xwpf.usermodel.XWPFTableCell.XWPFVertAlign;
import lombok.Getter;
import lombok.Setter;
/**
* @author:songx
* @date:2017年12月7日,下午4:02:41
*/
@Getter
@Setter
public class RunTableDTO extends RunDTO {
/**
* 列宽,默认100
*/
private float[] columnWidths;
/**
* 列的内容
*/
private String[][] contents;
/**
* 设置单元格高度,仅当表格的时候使用
*/
private float minimumHeight;
/**
* 高度
*/
private int height;
/**
* 表格对齐
*/
private XWPFVertAlign vertAlign;
/**
* 2007版word
*
* @param contents
* @param height
* @param vertAlign
*/
public RunTableDTO(String[][] contents, int height, XWPFVertAlign vertAlign) {
this.contents = contents;
this.height = height;
this.vertAlign = vertAlign;
}
}
package com.pcloud.common.utils.word.dto;
import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
import lombok.Getter;
import lombok.Setter;
/**
* @author:songx
* @date:2017年12月7日,下午2:36:08
*/
@Getter
@Setter
public class RunTextDTO extends RunDTO {
/**
* 行文本
*/
private String text;
/**
* 字体样式
*/
private String font;
/**
* 字体大小
*/
private int fontSize;
/**
* 是否加粗
*/
private boolean bold;
/**
* 字体
*/
private String fontFamily;
/**
* 下划线
*/
private UnderlinePatterns underlinePatterns;
/**
* 文本
*
* @param text
*/
public static RunTextDTO newText(String text) {
return newText(text, 0, null, null);
}
/**
* 文本
*
* @param text
* @param fontSize
*/
public static RunTextDTO newText(String text, int fontSize) {
return newText(text, fontSize, null, null);
}
/**
* 文本
*
* @param text
* @param fontFamily
* @param fontSize
*/
public static RunTextDTO newText(String text, int fontSize, String fontFamily) {
return newText(text, fontSize, fontFamily, null);
}
/**
* 文本
*
* @param text
* @param underlinePatterns
*/
public static RunTextDTO newText(String text, UnderlinePatterns underlinePatterns) {
return newText(text, 0, null, underlinePatterns);
}
/**
* 文本
*
* @param text
* @param fontFamily
* @param fontSize
* @param underlinePatterns
*/
public static RunTextDTO newText(String text, int fontSize, String fontFamily,
UnderlinePatterns underlinePatterns) {
RunTextDTO runTextDTO = new RunTextDTO();
runTextDTO.setText(text);
runTextDTO.setFontFamily(fontFamily);
runTextDTO.setFontSize(fontSize);
runTextDTO.setUnderlinePatterns(underlinePatterns);
return runTextDTO;
}
/**
* 文本
*
* @param text
*/
public static RunTextDTO newBold(String text) {
return newBold(text, 0, null);
}
/**
* 文本
*
* @param text
* @param fontSize
*/
public static RunTextDTO newBold(String text, int fontSize) {
return newBold(text, fontSize, null);
}
/**
* 文本
*
* @param text
* @param fontFamily
* @param fontSize
*/
public static RunTextDTO newBold(String text, int fontSize, String fontFamily) {
RunTextDTO runTextDTO = new RunTextDTO();
runTextDTO.setText(text);
runTextDTO.setFontFamily(fontFamily);
runTextDTO.setFontSize(fontSize);
runTextDTO.setBold(true);
return runTextDTO;
}
/**
* 空行使用
*/
public static RunTextDTO newEmpty() {
RunTextDTO runTextDTO = new RunTextDTO();
runTextDTO.setText("");
return runTextDTO;
}
}
package com.pcloud.common.utils.word.dto;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* @author:songx
* @date:2017年12月7日,下午4:02:59
*/
@Getter
@Setter
@ToString(callSuper = true)
public class WordDTO {
/**
* 字体大小
*/
private int fontSize;
/**
* 字体
*/
private String fontFamily;
/**
* 段落
*/
private List<ParagraphDTO> paragraphs;
public WordDTO(int fontSize, String fontFamily, List<ParagraphDTO> paragraphs) {
this.fontSize = fontSize;
this.fontFamily = fontFamily;
this.paragraphs = paragraphs;
}
}
package com.pcloud.common.utils.word.enums;
/**
* @author:songx
* @date:2019/5/27,19:16
*/
public enum ParagraphType {
/**
* 文本
*/
text(1),
/**
* 图片
*/
image(2),
/**
* 表格
*/
table(3);
/**
* 值
*/
public final int value;
/**
* 构造
*
* @param value
*/
private ParagraphType(int value) {
this.value = value;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment