diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java index 890febf..0c48edb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java @@ -45,6 +45,8 @@ import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.poi.util.IOUtils; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.http.ResponseEntity; import org.springframework.util.Base64Utils; import org.springframework.web.client.RestTemplate; @@ -118,6 +120,7 @@ } + private static void textBoxTest() throws IOException { Map map = new HashMap<>(); ConfigureBuilder builder = Configure.builder(); @@ -196,11 +199,17 @@ // pdfReader.close(); } + public static void testExcelWork() { + Workbook wb = new Workbook(); + wb.loadFromFile("D:\\casic\\tmp\\1780135367161278466\\1111qqqq2222RIM20240416001.xls"); + //获取工作表 + Worksheet sheet = wb.getWorksheets().get(1); + sheet.saveToImage("D:\\casic\\tmp\\1780135367161278466\\ToImg2.png",1,1,62,27); + } + public static void main(String[] args) throws IOException { - String path = "D:\\casic\\cut\\"; - String pdfPath = path + "1.pdf"; - String imagePath = path + "test.png"; - firstPageAsImgByPdf(pdfPath, imagePath); + testExcelWork(); + System.out.println(); // OutputStream output = new FileOutputStream(imagePath); //// MinioUtil minioUtil = SpringContextUtil.getBean(MinioUtil.class); // QRCodeUtil.getQRCode("中文", output); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java index 890febf..0c48edb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java @@ -45,6 +45,8 @@ import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.poi.util.IOUtils; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.http.ResponseEntity; import org.springframework.util.Base64Utils; import org.springframework.web.client.RestTemplate; @@ -118,6 +120,7 @@ } + private static void textBoxTest() throws IOException { Map map = new HashMap<>(); ConfigureBuilder builder = Configure.builder(); @@ -196,11 +199,17 @@ // pdfReader.close(); } + public static void testExcelWork() { + Workbook wb = new Workbook(); + wb.loadFromFile("D:\\casic\\tmp\\1780135367161278466\\1111qqqq2222RIM20240416001.xls"); + //获取工作表 + Worksheet sheet = wb.getWorksheets().get(1); + sheet.saveToImage("D:\\casic\\tmp\\1780135367161278466\\ToImg2.png",1,1,62,27); + } + public static void main(String[] args) throws IOException { - String path = "D:\\casic\\cut\\"; - String pdfPath = path + "1.pdf"; - String imagePath = path + "test.png"; - firstPageAsImgByPdf(pdfPath, imagePath); + testExcelWork(); + System.out.println(); // OutputStream output = new FileOutputStream(imagePath); //// MinioUtil minioUtil = SpringContextUtil.getBean(MinioUtil.class); // QRCodeUtil.getQRCode("中文", output); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index 7aa686a..2bb2fe9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -79,7 +79,7 @@ } finally { if (printDocUrl != null) { //如果文件路径不为空,回传文件流 - miniName = createResponseFileInput(printDocUrl, null, registerParameters.getResponse()); + miniName = createResponseFileInput(printDocUrl, null, registerParameters.getResponse(),filePrintRegister); } //删除无效的文件 File invalidFile = new File(tempLocalFileDir); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java index 890febf..0c48edb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/Example.java @@ -45,6 +45,8 @@ import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.poi.util.IOUtils; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.http.ResponseEntity; import org.springframework.util.Base64Utils; import org.springframework.web.client.RestTemplate; @@ -118,6 +120,7 @@ } + private static void textBoxTest() throws IOException { Map map = new HashMap<>(); ConfigureBuilder builder = Configure.builder(); @@ -196,11 +199,17 @@ // pdfReader.close(); } + public static void testExcelWork() { + Workbook wb = new Workbook(); + wb.loadFromFile("D:\\casic\\tmp\\1780135367161278466\\1111qqqq2222RIM20240416001.xls"); + //获取工作表 + Worksheet sheet = wb.getWorksheets().get(1); + sheet.saveToImage("D:\\casic\\tmp\\1780135367161278466\\ToImg2.png",1,1,62,27); + } + public static void main(String[] args) throws IOException { - String path = "D:\\casic\\cut\\"; - String pdfPath = path + "1.pdf"; - String imagePath = path + "test.png"; - firstPageAsImgByPdf(pdfPath, imagePath); + testExcelWork(); + System.out.println(); // OutputStream output = new FileOutputStream(imagePath); //// MinioUtil minioUtil = SpringContextUtil.getBean(MinioUtil.class); // QRCodeUtil.getQRCode("中文", output); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index 7aa686a..2bb2fe9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -79,7 +79,7 @@ } finally { if (printDocUrl != null) { //如果文件路径不为空,回传文件流 - miniName = createResponseFileInput(printDocUrl, null, registerParameters.getResponse()); + miniName = createResponseFileInput(printDocUrl, null, registerParameters.getResponse(),filePrintRegister); } //删除无效的文件 File invalidFile = new File(tempLocalFileDir); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileSupport.java index 755859f..6425746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileSupport.java @@ -1,7 +1,10 @@ package com.casic.missiles.service.listeners.register; +import com.casic.missiles.dto.business.file.FilePrintRegister; import com.casic.missiles.utils.MinioUtil; import com.casic.missiles.utils.SpringContextUtil; +import com.spire.xls.Workbook; +import com.spire.xls.Worksheet; import io.minio.GetObjectArgs; import io.minio.MinioClient; import lombok.extern.slf4j.Slf4j; @@ -36,8 +39,12 @@ * @param printDocUrl 文件流路径,pdf,word * @param response */ - protected String createResponseFileInput(String printDocUrl, String customFileName, HttpServletResponse response) { + protected String createResponseFileInput(String printDocUrl, String customFileName, HttpServletResponse response, FilePrintRegister filePrintRegister) { if (response == null) { + if (filePrintRegister.getQrCode().contains("png")) { + getQrCodeUrl(printDocUrl, filePrintRegister.getQrCode(), filePrintRegister.getTemDir()); + uploadCertificate( filePrintRegister.getTemDir()+filePrintRegister.getQrCode(),filePrintRegister.getQrCode()); + } return uploadCertificate(printDocUrl, customFileName); } File file = new File(printDocUrl); @@ -86,6 +93,13 @@ return ""; } + private static void getQrCodeUrl(String printDocUrl, String qrCode, String tempDir) { + Workbook wb = new Workbook(); + wb.loadFromFile(printDocUrl); + //获取工作表 + Worksheet sheet = wb.getWorksheets().get(1); + sheet.saveToImage(tempDir + qrCode, 1, 1, 62, 27); + } /** * 从mini文件服务器下载文件,获取文件的读写权限,用户证书报告的生成 @@ -130,7 +144,7 @@ /** * 通过生成的证书报告,将证书报告上传到远程mini的文件服务器 */ - public static String uploadCertificate(String certificatePrintUrl, String customFileName) { + public static String uploadCertificate(String certificatePrintUrl, String customFileName) { //上传证书 File file = new File(certificatePrintUrl); //获取file对象的文件输入流