0、策略常量类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
* @author Eliauk
*/
public interface PathUploadType {

String PDF = "PDF文件";

String TIF = "TIF文件";

String IMAGE_TO_PDF = "合并图片文件";

String VOLUME = "案卷合并";

String OFD = "OFD文件";

}

1、合并图片为PDF

这里的逻辑是将当前根目录下所有的包含PDF目录的文件夹里边所有的【jpg", “jpeg”, “png”, “tif”, "tiff】文件都合并成一个PDF文件

1
2
3
4
5
6
7
8
9
logger.info("接受到图片合并处理任务…………");
List<File> fileFolders = new ArrayList<>();
List<String> legalSuffix = Arrays.asList("jpg", "jpeg", "png", "tif", "tiff"
File rootFolder = FileUtil.file(upload + localPath);
DirectoryScanner.getFileFoldersWithImages(rootFolder, fileFolders, legalSuffix);
logger.info("列出包含文件的文件夹成功,一共包含{}个文件夹", fileFolders.size()
for (File uploadFileFolder : fileFolders) {
pathUpLoadProducer.syncSendPathUpload(tenantId,Convert.toStr(taskId),null,Convert.toStr(uploadFileFolder),Convert.toStr(overWrite),PathUploadType.IMAGE_TO_PDF);
}

2、OFD转PDF

1
2
3
4
5
6
7
8
9
List<File> fileFolders = new ArrayList<>();
List<String> legalSuffix = List.of("ofd"
getFoldersWithPDFFiles(upload + localPath, fileFolders, legalSuffix);
logger.info("成功列出包含PDF的文件夹,总共包含{}个文件夹", fileFolders.size());

for (int folderIndex = 0; folderIndex < fileFolders.size(); folderIndex++) {
File uploadFileFolder = fileFolders.get(folderIndex);
pathUpLoadProducer.syncSendPathUpload(tenantId,Convert.toStr(taskId),null,Convert.toStr(uploadFileFolder),Convert.toStr(overWrite),PathUploadType.OFD);
}

3、案卷合并

:::warning
这个逻辑与合并图片为PDF不同的是,这个会根据全宗去合并 举个例子:
A001-004-021-0001.jpg
A001-004-021-0002.jpg
A001-004-022-0001.jpg
A001-004-022-0002.jpg
A001-004-022-0003.jpg
A001-004-023-0001.jpg
最终合并成的文件就是【
A001-004-021-0001,
A001-004-022-0001,
A001-004-023-0001

:::

1
2
3
4
5
6
7
8
9
10
11
12
logger.info("接受到案卷合并处理任务…………");
List<File> fileFolders = new ArrayList<>();
List<String> legalSuffix = Arrays.asList("jpg", "jpeg", "png", "tif", "tiff");

File rootFolder = FileUtil.file(upload + localPath);
DirectoryScanner.getFileFoldersWithImages(rootFolder, fileFolders, legalSuffix);
logger.info("列出包含文件的文件夹成功,一共包含{}个文件夹", fileFolders.size());

for (int folderIndex = 0; folderIndex < fileFolders.size(); folderIndex++) {
File uploadFileFolder = fileFolders.get(folderIndex);
pathUpLoadProducer.syncSendPathUpload(tenantId,Convert.toStr(taskId),null,Convert.toStr(uploadFileFolder),Convert.toStr(overWrite),PathUploadType.VOLUME);
}

4、TIFF文件转PDF