0、策略常量类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
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