|
|
|
@ -1,45 +1,43 @@
|
|
|
|
|
package com.palnet.comn.utils; |
|
|
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
|
import java.io.FileOutputStream; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.nio.file.Files; |
|
|
|
|
import java.nio.file.Paths; |
|
|
|
|
import java.time.Instant; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Map.Entry; |
|
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
import org.thymeleaf.TemplateEngine; |
|
|
|
|
import org.thymeleaf.context.Context; |
|
|
|
|
|
|
|
|
|
import com.itextpdf.html2pdf.ConverterProperties; |
|
|
|
|
import com.itextpdf.html2pdf.HtmlConverter; |
|
|
|
|
import com.itextpdf.io.font.PdfEncodings; |
|
|
|
|
import com.itextpdf.kernel.pdf.PdfDocument; |
|
|
|
|
import com.itextpdf.kernel.pdf.PdfWriter; |
|
|
|
|
import com.itextpdf.layout.font.FontProvider; |
|
|
|
|
import com.palnet.biz.api.comn.file.constant.ExtensionConstant; |
|
|
|
|
import com.palnet.biz.api.comn.file.model.PdfBaseModel; |
|
|
|
|
import com.palnet.biz.jpa.entity.ComFileBas; |
|
|
|
|
import com.palnet.comn.code.ErrorCode; |
|
|
|
|
import com.palnet.comn.exception.CustomException; |
|
|
|
|
|
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
import org.thymeleaf.TemplateEngine; |
|
|
|
|
import org.thymeleaf.context.Context; |
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
import java.io.*; |
|
|
|
|
import java.net.URLEncoder; |
|
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
|
import java.nio.file.Files; |
|
|
|
|
import java.nio.file.Paths; |
|
|
|
|
import java.time.Instant; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Map.Entry; |
|
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
|
|
@Slf4j |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
@Component |
|
|
|
|
public class PdfUtils { |
|
|
|
|
|
|
|
|
|
private final HttpServletResponse response; |
|
|
|
|
|
|
|
|
|
private final TemplateEngine templateEngine; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${base-url}") |
|
|
|
|
private String BASE_PATH; |
|
|
|
|
|
|
|
|
|
private final String FILE_EXTENSION = ".pdf"; |
|
|
|
|
|
|
|
|
|
private final String PDF_FORDER_PATH = BASE_PATH + "od/"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -80,7 +78,13 @@ public class PdfUtils {
|
|
|
|
|
|
|
|
|
|
ComFileBas result = new ComFileBas(); |
|
|
|
|
|
|
|
|
|
String pdfPath = this.BASE_PATH + InstantUtils.toDateStringByFormat(Instant.now(), "yyyyMMdd") + "/"; |
|
|
|
|
String pdfPath = new StringBuilder() |
|
|
|
|
.append(this.BASE_PATH) |
|
|
|
|
.append(this.PDF_FORDER_PATH) |
|
|
|
|
.append(InstantUtils.toDateStringByFormat(Instant.now(), "yyyyMMdd")) |
|
|
|
|
.append("/") |
|
|
|
|
.toString(); |
|
|
|
|
|
|
|
|
|
String pdfFilePath = pdfPath + fileName; |
|
|
|
|
|
|
|
|
|
File path = new File(pdfPath); |
|
|
|
@ -145,7 +149,7 @@ public class PdfUtils {
|
|
|
|
|
|
|
|
|
|
result.setFileGroupNo(0); |
|
|
|
|
result.setFilePath(pdfPath); |
|
|
|
|
result.setFileExt(this.FILE_EXTENSION); |
|
|
|
|
result.setFileExt(ExtensionConstant.PDF.extension); |
|
|
|
|
result.setCreateDt(Instant.now()); |
|
|
|
|
result.setFileSaveNm(fileName); |
|
|
|
|
result.setFileOriNm(fileName); |
|
|
|
|