diff --git a/src/main/java/itn/com/cmm/util/PdfUtil.java b/src/main/java/itn/com/cmm/util/PdfUtil.java
index bc205360..119925e8 100644
--- a/src/main/java/itn/com/cmm/util/PdfUtil.java
+++ b/src/main/java/itn/com/cmm/util/PdfUtil.java
@@ -1,12 +1,22 @@
package itn.com.cmm.util;
+import java.awt.Image;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.UUID;
+import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.io.FileUtils;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.pdmodel.PDPage;
+import org.apache.pdfbox.pdmodel.PDPageContentStream;
+import org.apache.pdfbox.pdmodel.common.PDRectangle;
+import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
+
/**
*
* @author : 이호영
@@ -88,4 +98,53 @@ public final class PdfUtil {
}
+ public static String makeImgPdf(String imgDir,String extsn) throws Exception {
+ PDDocument doc = new PDDocument();
+ String uuid = UUID.randomUUID().toString();
+ try {
+ File copy1 = new File(imgDir);
+ File copy2 = new File(imgDir + "." +extsn);
+
+
+ FileUtils.copyFile(copy1, copy2);
+ File imgFiles = new File(imgDir + "." +extsn);
+ Image img = ImageIO.read(imgFiles);
+
+ PDPage page = new PDPage(PDRectangle.A4);
+ doc.addPage(page);
+
+ PDImageXObject pdImage = PDImageXObject.createFromFile(imgFiles.toString(), doc);
+ int pageWidth = Math.round(page.getCropBox().getWidth());
+ int pageHeight = Math.round(page.getCropBox().getHeight());
+
+ float imgRatio = 1;
+ if ( pageWidth < img.getWidth(null)) {
+ imgRatio = (float)img.getWidth(null) / (float)pageWidth;
+ }
+
+ int imgWidth = Math.round(img.getWidth(null) / imgRatio);
+ int imgHeight = Math.round(img.getHeight(null) / imgRatio);
+
+ int pageWidthPosition = (pageWidth - imgWidth) / 2;
+ int pageHeightPosition = (pageWidth - imgWidth) / 2;
+
+ PDPageContentStream contents = new PDPageContentStream(doc, page);
+ contents.drawImage(pdImage, pageWidthPosition, pageHeightPosition, imgWidth, imgHeight);
+ contents.close();
+ doc.save("/usr/local/tomcat/file/sht/pdf/" + uuid + ".pdf");
+
+ } catch (Exception e) {
+ System.out.println("Exception! : " + e.getMessage());
+ }
+
+ try {
+ doc.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return "/usr/local/tomcat/file/sht/pdf/" + uuid + ".pdf";
+ }
+
+
}
diff --git a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
index 8e0e13e4..d21ae61f 100644
--- a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
+++ b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
@@ -1,5 +1,6 @@
package itn.let.mjo.msg.web;
+import java.io.File;
import java.io.OutputStream;
import java.net.URL;
import java.text.SimpleDateFormat;
@@ -13,7 +14,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Random;
-import java.util.stream.Collector;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@@ -52,6 +52,7 @@ import itn.com.cmm.service.EgovFileMngService;
import itn.com.cmm.service.EgovFileMngUtil;
import itn.com.cmm.service.FileVO;
import itn.com.cmm.util.MJUtil;
+import itn.com.cmm.util.PdfUtil;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.cmm.util.StringUtil;
import itn.com.utl.fcc.service.EgovStringUtil;
@@ -158,6 +159,9 @@ public class MjonMsgController {
@Resource(name = "egovMberCmpHstService")
private EgovMberCmpHstService egovMberCmpHstService;
+ @Resource(name = "EgovFileMngService")
+ private EgovFileMngService fileService;
+
//배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"}
private String[][] sendMsgExcelValue ={
{"0" ,"번호" , "1" , "" },
@@ -5038,6 +5042,26 @@ public class MjonMsgController {
return "/uss/ion/msg/weekendCsWork2";
}
+
+ @RequestMapping(value = {"/uss/ion/msg/pdfView.do"})
+ public String pdfView(FileVO fileVO, ModelMap model) throws Exception {
+
+ FileVO fvo = fileService.selectFileInf(fileVO);
+ String path = "";
+
+ if(fvo != null) {
+ if("pdf".equals(fvo.getFileExtsn())) {
+ path = "/cmm/fms/FileDown.do?atchFileId="+ fvo.getAtchFileId() + "&fileSn=" + fvo.getFileSn();
+ }else {
+ String storePath = fvo.getFileStreCours() + fvo.getStreFileNm();
+ path = PdfUtil.makeImgPdf(storePath, fvo.getFileExtsn());
+ }
+ }
+
+ model.addAttribute("pdfPath", path);
+
+ return "/uss/ion/msg/pdfView";
+ }
diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml
index ef4bbdb2..e4160c4b 100644
--- a/src/main/webapp/WEB-INF/decorators.xml
+++ b/src/main/webapp/WEB-INF/decorators.xml
@@ -151,6 +151,7 @@