update 文档拆分初步处理
This commit is contained in:
@@ -109,7 +109,7 @@ public class MinioUtil {
|
||||
.stream(stream,stream.available(),-1).build();
|
||||
minioClient.putObject(objectArgs);
|
||||
stream.close();
|
||||
fileUrl = minioUrl+newBucket+ File.separator +objectName;
|
||||
fileUrl = objectName;
|
||||
}catch (Exception e){
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -146,5 +146,14 @@
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.10.5</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.aspose</groupId>
|
||||
<artifactId>aspose-words</artifactId>
|
||||
<version>21.1</version>
|
||||
<scope>system</scope>
|
||||
<classifier>jdk17</classifier>
|
||||
<systemPath>${project.basedir}/lib/aspose-words-21.1-jdk17-cracked.jar</systemPath>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.jero.modules.split.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -18,28 +20,55 @@ public class SarFileSplitItemsEO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "拆分信息记录id")
|
||||
private String infoId;
|
||||
|
||||
@ApiModelProperty(value = "条款号")
|
||||
private String itemsNum;
|
||||
|
||||
@ApiModelProperty(value = "条款名称")
|
||||
private String itemsName;
|
||||
|
||||
@ApiModelProperty(value = "条款内容")
|
||||
private String itermsConditions;
|
||||
|
||||
@ApiModelProperty(value = "拆分目录id")
|
||||
private String menuId;
|
||||
|
||||
@ApiModelProperty(value = "信息类别")
|
||||
private String informationCategory; // 信息类别
|
||||
private String technologyTerritory; // 技术领域
|
||||
|
||||
@ApiModelProperty(value = "技术领域")
|
||||
private String technologyTerritory; //
|
||||
|
||||
@ApiModelProperty(value = "")
|
||||
private Integer validFlag;
|
||||
|
||||
private String creationUser;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date creationTime;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date modifyTime;
|
||||
|
||||
private String modifyUser;
|
||||
|
||||
private String[] infoIdList;
|
||||
|
||||
private String[] idList;
|
||||
|
||||
private List<SarFileSplitItemsValEO> itemValEOList;
|
||||
|
||||
// 前台删除的VAL表条目内容ID
|
||||
private String delItemIds;
|
||||
|
||||
private String sMenuId;
|
||||
|
||||
List<String> itemsCondi;
|
||||
|
||||
private String zhan3Shi4Shun4Xu4;// 展示顺序字段
|
||||
|
||||
|
||||
}
|
||||
|
||||
+26
-1834
File diff suppressed because it is too large
Load Diff
-1792
File diff suppressed because it is too large
Load Diff
+5
-73
@@ -57,8 +57,6 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
|
||||
@Autowired
|
||||
private FileSpiltService fileSpiltService;
|
||||
@Autowired
|
||||
private FileSplitPdfService fileSplitPdfService;
|
||||
@Autowired
|
||||
private ISarFileSplitMenuEOService sarFileSplitMenuEOService;
|
||||
@Autowired
|
||||
private IBussDocumentLibraryEOService bussDocumentLibraryEOService;
|
||||
@@ -74,80 +72,19 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
|
||||
public void add(SarFileSplitInfoEO sarFileSplitInfoEO) {
|
||||
Date now = new Date();
|
||||
//保存拆分数据
|
||||
String infoId = UUID.randomUUID().toString().replace("-", "");
|
||||
sarFileSplitInfoEO.setId(infoId);
|
||||
sarFileSplitInfoEO.setSplitResult("成功"); // TODO 这块之后可能不会用到
|
||||
sarFileSplitInfoEO.setCreateTime(now);
|
||||
sarFileSplitInfoEO.setUpdateTime(now);
|
||||
save(sarFileSplitInfoEO);
|
||||
|
||||
SplitFileTypeTypeEnum enumByValue = SplitFileTypeTypeEnum.getEnumByValue(sarFileSplitInfoEO.getFileGroup());
|
||||
/*SplitFileTypeTypeEnum enumByValue = SplitFileTypeTypeEnum.getEnumByValue(sarFileSplitInfoEO.getFileGroup());
|
||||
String fileSuffix = "docx";
|
||||
if (StringUtils.isNotEmpty(sarFileSplitInfoEO.getFileName())) {
|
||||
String fileName = sarFileSplitInfoEO.getFileName();
|
||||
fileSuffix = fileName.substring(fileName.lastIndexOf(".") + 1);
|
||||
}
|
||||
}*/
|
||||
|
||||
int result = 0;
|
||||
switch (enumByValue){
|
||||
case GB:
|
||||
case GBT:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileCHN(sarFileSplitInfoEO,enumByValue);
|
||||
} else if("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileCHN(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
case EU:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileEU(sarFileSplitInfoEO, enumByValue);
|
||||
} else if ("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileEU(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
case US:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileUSA(sarFileSplitInfoEO,enumByValue);
|
||||
} else if ("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileUSA(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
case GSO:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileGSO(sarFileSplitInfoEO, enumByValue);
|
||||
} else if ("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileGSO(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
case JPN_ATTACHMENT:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileJapanOne(sarFileSplitInfoEO,enumByValue);
|
||||
} else if ("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileJapanOne(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
case JPN_ARTICLE:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileJapanTwo(sarFileSplitInfoEO, enumByValue);
|
||||
} else if ("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileJapanTwo(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
case KMVSS_ARTICLE:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileKmvssArticle(sarFileSplitInfoEO, enumByValue);
|
||||
} else if ("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileKmvssArticle(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
case KMVSS_TABLE:
|
||||
if ("docx".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSpiltService.fileKmvssTable(sarFileSplitInfoEO, enumByValue);
|
||||
} else if ("pdf".equals(fileSuffix.toLowerCase())) {
|
||||
result = fileSplitPdfService.fileKmvssTable(sarFileSplitInfoEO, enumByValue);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
result = fileSpiltService.fileCHN(sarFileSplitInfoEO,SplitFileTypeTypeEnum.GBT);
|
||||
|
||||
if(result == -1){
|
||||
if(LanguageEnum.CN.getValue().equals(sarFileSplitInfoEO.getCut())) {
|
||||
throw new JeroBootException("文档格式错误,请检查文档内容!");
|
||||
@@ -156,11 +93,6 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// fileSpiltService.fileCHN(sarFileSplitInfoEO);
|
||||
// fileSpiltService.fileEU(sarFileSplitInfoEO);
|
||||
// fileSpiltService.fileUSA(sarFileSplitInfoEO);
|
||||
|
||||
// 添加条款总目录 TODO 这块之后可能不会用到
|
||||
// SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO();
|
||||
// sarFileSplitMenuEO.setName("总目录");
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.jero.modules.split.util;
|
||||
|
||||
import com.aspose.words.*;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-09-20 14:42
|
||||
*/
|
||||
public class AsposeUtil {
|
||||
public static void main(String[] args) throws Exception {
|
||||
// Document doc = new Document("C:\\wordtest\\GB7258标准修订test.docx");
|
||||
Document doc = new Document("E:\\Data\\Downloads\\wordtest\\GB7258标准修订test - 表格测试.docx");
|
||||
//Document doc = new Document("E:\\Data\\Downloads\\wordtest\\GB7258标准修订test.docx");
|
||||
DocumentBuilder builder = new DocumentBuilder(doc);
|
||||
|
||||
builder.insertField(FieldType.FIELD_NUM_PAGES, true);
|
||||
|
||||
NodeCollection childNodes = doc.getChildNodes(NodeType.ANY, true); //获取段落
|
||||
|
||||
for (int i = 0; i < childNodes.getCount(); i++) {
|
||||
Node next = childNodes.get(i);
|
||||
|
||||
if (next instanceof Paragraph) {
|
||||
Paragraph node = (Paragraph) next;
|
||||
String text = node.getText();
|
||||
text = text.replaceAll("\t", "").replaceAll("\b", "")
|
||||
.replaceAll(" ", "").replaceAll("\"", "").replaceAll("'", "");
|
||||
String labelString = "";
|
||||
if (node.getListFormat().isListItem()) {
|
||||
ListLabel listLabel = node.getListLabel();
|
||||
labelString = listLabel.getLabelString().trim();
|
||||
labelString = labelString.replaceAll("\t", "").replaceAll("\b", "")
|
||||
.replaceAll(" ", "").replaceAll("\"", "").replaceAll("'", "").replaceAll(" ","");
|
||||
|
||||
//System.out.println(labelString.substring(0,labelString.length()-1));
|
||||
System.out.println("Text:"+labelString + text);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//if (next instanceof Table) {
|
||||
// System.out.println("Table:"+next);
|
||||
//}
|
||||
|
||||
//if (next instanceof Image) {
|
||||
// System.out.println("ImageData:"+next);
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user